私の質問を読んでくれてありがとう、ありがとう。 私はこのアプリ(Cydia)を持っています。これは約10%のユーザーがiOS 3.0を持っているので、私は次のアップデートでそれらをサポートしたいと思います。メインXIBを読み込むとiOS 3.0でアプリがクラッシュする
iOS 4.0および5.0.1を実行している実際のデバイスでテストしました。それは正常に働いた。しかし、iOSの3.0それは例外でクラッシュ:メインXIBをロードする際
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ' -[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0x4e, 0x49, 0x42, 0x41, 0x72, 0x63, 0x68, 0x69)
は明らかに、ここでは例外のバックトレースです:
0 0x30016588 in objc_exception_throw()
1 0x30224026 in +[NSException raise:format:arguments:]()
2 0x30223fc6 in +[NSException raise:format:]()
3 0x305564b4 in -[NSKeyedUnarchiver initForReadingWithData:]()
4 0x3094927c in -[UINib instantiateWithOptions:owner:loadingResourcesFromBundle:]()
5 0x30949090 in -[NSBundle(NSBundleAdditions) loadNibNamed:owner:options:]()
6 0x308f131c in -[UIApplication _loadMainNibFile]()
7 0x308f0f9c in -[UIApplication _runWithURL:sourceBundleID:]()
8 0x309374b0 in -[UIApplication handleEvent:withNewEvent:]()
9 0x30936cf0 in -[UIApplication sendEvent:]()
10 0x3093687c in _UIApplicationHandleEvent()
11 0x3204696c in PurpleEventCallback()
12 0x30254a76 in CFRunLoopRunSpecific()
13 0x3025416a in CFRunLoopRunInMode()
14 0x308f0354 in -[UIApplication _run]()
15 0x308eea94 in UIApplicationMain()
16 0x00003886 in main (argc=1, argv=0x2ffff74c)
私が読み、thisとthisを試してみました。だから私は、3.0に設定されたデプロイメントバージョンと、Interface Builder 3.0への開発のすべてのニブを持っていますが、まだ運がありません。
古いXCode SDKをお持ちですか?あなたはそのようなSDKからInterfaceBuilderでペン先を開こうとしましたか? –
ありがとうございます@Peter、いくつかの進歩があります、私はあなたの提案に従いました、幸いにも私はXcode 3.2へのアクセス権があり、プロジェクトをそこでコンパイルしました。 Xcode 4.2と同じプロジェクトで、前と同じエラーが出るのですが、これは新しいXcodeがプロジェクトをコンパイルする方法に関するものだと思います。 – Emanuel
私は100%確信していませんが、xcode 4.2のnibsはiOS 3.2にのみ下位互換性があると読んだと思います。私は最小必要なターゲットを3.2に設定しようとします。あるいは、古いsdkで作成されたペンをXCode 4.2の内部で再コンパイルせずに使用しようとします。 –