1
4

1 に答える 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
)

この場合、これはアプリがWebViewnib をロードするときに a が何であるかを認識していないためです。これを修正するには、フレームワークにリンクする必要がありますWebKit

ターゲット設定に戻り、「Build Phases」を選択します。「Link Binary With Libraries」を展開し、「+」をクリックします。Mac フレームワークを検索してWebKit追加します。WebViewアプリは今すぐ nib のアーカイブを解除できるはずです。

ターゲットのリンクされたライブラリの場所

于 2013-11-01T04:13:37.350 に答える