2010-07-18 8 views
0

내 앱에서 이전 버전의 iOS를 지원하려고합니다. 나는 처음에는 그러한 프레임 워크를 구형 OS에 존재하지 않는 "약한 연결"에만 설정해야한다고 생각했습니다. iAd 프레임 워크. 그런 다음 코드에서 지원되지 않는 API를 호출하지 않았는지 확인하십시오. 나는 이전 시뮬레이터 (가장 최근의 프레임 워크와 컴파일 된) 응용 프로그램을 실행하려고 할 때, 그것은 약한 연결에 모든 프레임 워크를 설정 한 후이전 iOS 버전을 지원하기위한 약한 연결

18/07/2010 11:07:29 UIKitApplication:xxxxx[0xe006][5729] dyld: Symbol not found: _OBJC_CLASS_$_NSAssertionHandler 
18/07/2010 11:07:29 UIKitApplication:xxxxx[0xe006][5729]  Referenced from: xxxxx/Applications/23CE4978-D25F-4DB4-A486-0730EBBB501B/xxxxx.app/xxxxx 
18/07/2010 11:07:29 UIKitApplication:xxxxx[0xe006][5729]  Expected in: /Xcode3.1.4/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation 
18/07/2010 11:07:29 UIKitApplication:xxxxx[0xe006][5729]  in xxxxx/Applications/23CE4978-D25F-4DB4-A486-0730EBBB501B/xxxxx.app/xxxxx 

과 유사한 메시지와 함께 시작하는 동안 충돌, 그래도 오류 메시지가 계속 표시됩니다.

18/07/2010 11:33:32 UIKitApplication:xxxxx[0xc4a7][8204] dyld: Symbol not found: __objc_empty_vtable 
18/07/2010 11:33:32 UIKitApplication:xxxxx[0xc4a7][8204]  Referenced from: xxxxx/Applications/23CE4978-D25F-4DB4-A486-0730EBBB501B/xxxxx.app/xxxxx 
18/07/2010 11:33:32 UIKitApplication:xxxxx[0xc4a7][8204]  Expected in: /usr/lib/libobjc.A.dylib 

내가 뭘 잘못하고 있니?

답변

2

을 내가 해결책을 찾은 것 같아 (? 사람은이를 확인할 수 있습니다하시기 바랍니다) : 앱을 이전에 실행하는 경우

당신은 테스트 시뮬레이터를 사용할 수 없습니다 iOS 버전. 그것은 단지 Apple에 따라, 장치에서 작동합니다

아이폰 OS 참고 : 맥 OS X v10.6의 이전 버전 3.0에 아이폰 시뮬레이터 SDK를 사용하여 지원하지 않습니다. 시뮬레이터 SDK를 사용하여 빌드 할 때 이진 파일은 SDK와 동일한 OS 버전에서 만 실행하고 이전 또는 이후 버전에서는 이 아닙니다.

이것은 정말로 둔한 것처럼 보입니다. 각 SDK 버전마다 하나의 실제 iPhone이 없어도 이전 버전과의 호환성을 테스트하려면 어떻게해야합니까? 안좋다.

+1

Pssst ... 오래된 시뮬레이터를 사용할 수 있도록 별도의 디렉토리에 이전 SDK를 설치하십시오. :) – iwasrobbed

0

이전 플랫폼을 지원하려면 새 클래스를 직접 사용할 수 없습니다. 대신, 당신과 같이 NSClassFromString를 사용

class myClass = NSClassFromString(@"NSCoolNewClass"); 
if (myClass) 
    //do stuff 
+0

예 .. 나는 새로운 수업을 위해 그것을하고 있습니다. 그러나 NSAssertionHandler (위의 오류 메시지 참조)는 버전 2.0 이후 CoreFoundation의 일부로 SDK에 제공됩니다. – hanno

관련 문제