多くの iOS 開発者と同様に、5.1 より前のシステムで を使用するとアプリケーションがクラッシュするという問題に遭遇しましたNSURLIsExcludedFromBackupKey
。
このスレッドでこのキーの存在を評価する方法については、よく説明されています。
iOS 5.0 でクラッシュせずに NSURLIsExcludedFromBackupKey を使用する
samvermette のコメントの1 つは、iOS シミュレーターにバグがあると述べています。
それにもかかわらず、2 つの別々のアプリケーションであっても、リリースビルドで同じ問題が発生しました。調査の結果、main() メソッドが呼び出される前にアプリケーションがクラッシュしたことがわかりました。これが関連していることを私にほのめかした
NSString * const NSURLIsExcludedFromBackupKey;
アプリケーション起動時の評価。
私はこの分野の専門家ではありませんが、const
値への参照がコード内で発生した場合 (実行時に実際にアクセスされなくても)、const
アプリケーションの起動時に評価されることがわかりました。そして、これは単に私たちの多くが経験するクラッシュを引き起こします.
どなたかお力添えをお願いしたいです。const値を「弱く」参照する方法を知っているかもしれませんし、特定のコンパイラフラグがあるかもしれません。(Apple LLVM 3.1 を使用)。
前もって感謝します。
この場合、@"NSURLIsExcludedFromBackupKey" であるこの const の値を直接入力するコメントはしないでください。私はこの回避策を知っています。この話の理由は、一般的な解決策を見つけることです。