質問する
2677 次
1 に答える
2
いくつかのこと:
xib で [File Inspector] を選択し、xib の展開バージョンがアプリの展開バージョンと一致することを確認します。これを行わないと、古い展開バージョンでアプリケーションを実行する際に問題が発生します。
クラッシュについて、Xcode のデバッグ コンソールを見ると、おそらく次のようなものが表示されます。
2013-10-31 23:07:10.654 Product[19035:303] *** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (WebView)
2013-10-31 23:07:10.654 Product[19035:303] (
0 CoreFoundation 0x00007fff8eeab41c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff97daee75 objc_exception_throw + 43
2 CoreFoundation 0x00007fff8eeab2cc +[NSException raise:format:] + 204
3 Foundation 0x00007fff96b83d69 _decodeObjectBinary + 2349
4 Foundation 0x00007fff96b84f2f -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1774
5 Foundation 0x00007fff96b8512b -[NSArray(NSArray) initWithCoder:] + 202
6 Foundation 0x00007fff96b83e22 _decodeObjectBinary + 2534
7 Foundation 0x00007fff96b832dd _decodeObject + 288
8 AppKit 0x00007fff946985bc -[NSView initWithCoder:] + 1949
9 Foundation 0x00007fff96b83e22 _decodeObjectBinary + 2534
10 Foundation 0x00007fff96b832dd _decodeObject + 288
11 AppKit 0x00007fff9469e458 -[NSWindowTemplate initWithCoder:] + 1043
12 Foundation 0x00007fff96b83e22 _decodeObjectBinary + 2534
13 Foundation 0x00007fff96b84f2f -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:] + 1774
14 Foundation 0x00007fff96b84567 -[NSSet(NSSet) initWithCoder:] + 203
15 Foundation 0x00007fff96b83e22 _decodeObjectBinary + 2534
16 Foundation 0x00007fff96b832dd _decodeObject + 288
17 AppKit 0x00007fff94670780 -[NSIBObjectData initWithCoder:] + 155
18 Foundation 0x00007fff96b83e22 _decodeObjectBinary + 2534
19 Foundation 0x00007fff96b832dd _decodeObject + 288
20 AppKit 0x00007fff9467059f loadNib + 232
21 AppKit 0x00007fff9466fb9c +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 288
22 AppKit 0x00007fff9466f98c -[NSBundle(NSNibLoading) loadNibNamed:owner:topLevelObjects:] + 197
23 AppKit 0x00007fff9466f77b +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 357
24 AppKit 0x00007fff9466b617 NSApplicationMain + 448
25 Product 0x00000001000012c2 main + 34
26 Product 0x0000000100001294 start + 52
27 ??? 0x0000000000000003 0x0 + 3
)
この場合、これはアプリがWebView
nib をロードするときに a が何であるかを認識していないためです。これを修正するには、フレームワークにリンクする必要がありますWebKit
。
ターゲット設定に戻り、「Build Phases」を選択します。「Link Binary With Libraries」を展開し、「+」をクリックします。Mac フレームワークを検索してWebKit
追加します。WebView
アプリは今すぐ nib のアーカイブを解除できるはずです。
于 2013-11-01T04:13:37.350 に答える