問題タブ [nskeyedunarchiver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - TestFlight 経由で iTunes からアプリをダウンロードしたときの NSKeyedArchiver の問題
数日間追跡しようとしている非常に奇妙なバグがあります。ゲームの状態データをアプリのドキュメント ディレクトリ内のファイルに保存しています。
最近の iOS アップデートまで、すべてが正常に機能していました (正確な時期はわかりませんが、9.0 前後のどこか)。突然、データが正しくアーカイブ/アーカイブ解除されません。
奇妙な部分は、iPad を MAC にテザリングした状態で Xcode から実行した場合、またはエミュレーターで実行した場合に、コードが正常に動作することです。TestFlight を使用して iTunes からアプリをダウンロードすると、機能しなくなります。これにより、デバッグが非常に困難になりました。
URL パスを使用し、エラー トラップ コードを追加しましたが、TestFlight 経由で iTunes からアプリをインストールすると、アーカイブが正しく機能しません。
最後の手段として、オブジェクトをアーカイブし、すぐに別の変数にアーカイブ解除してから、データをラベルに表示する新しいコードを追加しました。結果のオブジェクトには null データが含まれます。
例外はスローされません。
繰り返しますが、コードはアプリが iTunes からインストールされている場合にのみ機能しません。
コード スニペットは次のとおりです。
ここにデータモデルがあります
xcode - decodeBool forKey で NSCoder がクラッシュする (Xcode 8、Swift 3)
私はこの単純なクラスを持っています
保存コード:
読み取りコード:
問題は、NSKeyedUnarchiver がその仕事をしているときに発生します。問題がどこから来るのか理解できません。
ありがとう!
swift - NSKeyedUnarchiver が Swift 3 で動作しない
Mac アプリケーションでファイルを解凍するために使用する次のコードがあります。
しかし、Xcode 8.0 で Swift 3 にアップグレードして以来、次のエラー メッセージが表示されます
'unarchiveTopLevelObjectWithData' is unavailable in Swift: Use 'unarchiveTopLevelObjectWithData(_:) throws' instead
。そのため、これを修正する方法について真剣に混乱しています。これは Xcode のバグですか?
ios - swift: 常に nil で nscoding decodeObject を使用する
Packet という名前のオブジェクトを書き込んで、Multipeer 接続を介して反対側に送信すると、次のコードが得られました。ただし、エンコードされたオブジェクトをデコードしようとするたびに、次のエラーが発生しました。
私が得たエラーは ---- Print out from me ---- "initcoder" fatal error: unexpectedly found nil while unwrapping an Optional value 2016-09-30 13:32:55.901189 Connection[323:33022] 致命的なエラー: Optional 値のラップ解除中に予期せず nil が見つかりました
しかし、オブジェクトを構築すると、すべての値が設定されます。問題なく Packet オブジェクトを契約しました。
---- 追加情報 ------ 乗算器接続を介して反対側に送信するときに、データをエンコードおよびデコードするために次のコードを使用しました。
エラーの原因は何だろうか。ありがとう。
swift3 - NSKeyedArchiver.unarchiveObject スウィフト 3 iOS 10
この質問の答えを探していましたが、何も見つかりませんでした。同様の質問にはまったく答えがありません。基本的にはNSKeyedUnarchiver.archiveRootObject()でデータを保存し、.unarchiveObject(withFile)で読み込みたい。Swift 2.3 では正常に動作していましたが、現在はアーカイブ解除部分が常に nil に戻ると言ってクラッシュします。ファイルが存在するかどうかも確認します。何が起こっているのか本当にわかりません。ロード手順は次のとおりです。
これは節約です:
しかし、最終的には常に「致命的なエラー: オプション値のラップ解除中に予期せず nil が見つかりました」というメッセージが表示されます