4

iOS 9.1 Beta 2 にインストールすると、アプリケーションがクラッシュし始めました。まったく同じバイナリ (hudson リンクからダウンロード)は、次のように動作します。

  • iOS 9.0 および iOS 9.0.1 ではクラッシュしませんでした。
  • どちらの iOS 8 でもクラッシュしませんでした

クラッシュ ログを抽出しました。クラッシュは への呼び出し内で発生します[[NSBundle mainBundle] loadNibNamed:@"NameOfView" owner:self options:nil];。クラッシュ自体はNSUnknownKeyException次のとおりです。

*** キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。

これまでのところ、nib ローディングメカニズムがクラスに設定しようとする奇妙なキー'.'が表示されますが、明らかに、そのようなものは nib には存在しません。iOS 9.1 ベータ 2 がこの動作をする唯一のバージョンであるため、これはさらに奇妙に見えます。さらに、同じ git リビジョンから XCode 7 を使用してアプリをビルドしても、アプリのクラッシュは成功しません。期待どおりに動作します。あなたのリリース バージョンを iOS 9.0.1 ベータ 2 で試した後に、このような動作を経験した人はいますか? レーダーにバグを報告する前に、SO コミュニティからのフィードバックが必要です。皆さん、あなたの助けに感謝します。

PS 問題はその特定のバイナリでのみ再現されることを強調したいと思います。XCode 7 で同じソースから再度ビルドしても、クラッシュは発生しません。そのため、この種の問題をデバッグする方法、例外ブレークポイントを設定する方法などを提案しないでください。

EDIT 9.1 リリース以降、再現性がなくなりました。

4

1 に答える 1

1

元の質問へのコメントで述べたように、バグに対する解決策と応答はまだありません。

オープンレーダーのリンク: http://openradar.appspot.com/radar?id=6294934587965440

9.1 のリリース後、ここに更新を投稿します。

解決策を考え出すための経験的な方法がいくつかあります。

  1. KVC セッターsetValue:forKey:をオーバーライドし、空の文字列キーを禁止します。
  2. 常に最新の安定した SDK を使用してビルドしてください。

しかし、繰り返しになりますが、Apple からの実際の応答もありません。

EDIT 9.1 リリース以降、再現性がなくなりました。

于 2015-10-12T13:40:06.137 に答える