0

アプリと Xcode の更新/バージョン管理プロセスは初めてなので、いくつか質問があります。

私はアプリを作成し、古い xcode とシミュレーター 5.1 で実行されている Apple によって承認されました。警告メッセージはありませんでした。新しい xcode とシミュレーター 6.0 で実行すると、20 以上の新しい警告メッセージが表示されます。

Apple は、どのバージョンのどのビルドでも警告が表示されないことを期待していますか? すべての警告を修正する必要がありますか、それとも特定の警告のみを修正する必要がありますか? (つまり、アプリ ファイルと、アプリにインクルード/インポートした外部のサード パーティ フレームワーク/ライブラリの比較) このバージョン 6.0 用にそれらを修正すると、古いバージョンでは壊れる可能性がありますね。アプリは 5.1 のターゲットで作成されましたが、それを 4.3 (より多くのユーザー カバレッジ) に戻したかったのですが、シミュレーターでテストすることしかできません。

いくつかの警告の例を次に示します: - JSONKit.m - セマンティックな問題 - object_setClass() と object_getClass() を支持して、object_c の isa への直接アクセスは非推奨です - 多くの型のようなもの - フォーマットは型 'unsigned long' を指定しますが、引数にはtype 'NSUInteger' (別名 'unsigned int') - Cocoa API の問題 - リテラルで 'stringWithString:' を使用するのは冗長です

助けてくれてありがとう。

4

3 に答える 3

3

Apple は、コードのコンパイル中にどのような警告が表示されたかを知りません。彼らが見るのは署名されたバイナリだけで、動作する (承認する) かしない (拒否する) かのいずれかです。

なぜあなたは今それらを手に入れているのですか?Xcode の新しいバージョンでは、疑わしいコードをチェックするヒューリスティックが改善されているためです。非推奨の警告は、新しいバージョンの iOS をターゲットとして使用しているためです。

それらを修正する必要がありますか?おそらく。コンパイル警告のあるコードをリリースしますが、ケースバイケースで警告を修正しない場合のリスクを考慮する必要があります。他のものよりも重要または危険なものもあります。

于 2012-09-27T12:17:54.503 に答える
1

規則では、コンパイラはエラーと警告を生成します。

エラーは、コンパイラがソースを解析してコードを生成することを妨げる致命的な問題です。

コンパイラの警告は、コンパイルの成功を妨げるものではないが、実行時に問題を引き起こす可能性がある潜在的な問題、または注意すべき問題のフラグに関するものです。

各警告が説明している問題を理解し、アクションを実行するかどうかを決定する必要があります。

具体的には、非推奨の警告は、iOS (またはライブラリなど) の将来のバージョンが、使用している API をサポートしなくなる可能性があるという「警告」であり、新しい API への移行を検討するか、その API に依存するコード。

多くの場合、警告は安全に無視できますが、新しい警告が明らかになるように、コードを警告から切り離し、注意を引くことをお勧めします。

Apple は、コンパイルの警告に基づいてアプリを拒否しません。Apple は提出されたバイナリのみを参照し、ソース コードおよび関連する警告にはアクセスできません。

于 2012-09-27T12:23:54.143 に答える