1. ホーム
  2. xcode

Xcodeの警告とエラー解消のまとめ

2022-02-20 15:37:46
sdk 3.2.5 から sdk 7.1 へのアップグレードにより、多くのメソッドが非推奨となり、一部の論理関係がより厳密なものになりました。



1、警告 "xoxoxo"。   は非推奨



<スパン 回避策 xoxoxoのこのメソッドのドキュメントをチェックして、置き換えるだけです。







2、警告 struct sockaddr"の宣言は、この関数の外では見えません。



回避策:オープンソースの.mファイルに#importを追加します。







3、警告 列挙型 'UIInterfaceOrientation' から異なる列挙型 'UIDeviceOrientation' への暗黙の変換 '



<スパン 解決方法 タイプミスマッチです。エラーのある行までスキップして、UIInterfaceOrientation を UIDeviceOrientation に強制変更します。







4、警告 NSMutableArray から 'MyArrayList*' への代入は互換性のないポインタタイプです。 '



回避策:強制変換(MyArrayList*)の追加







5、警告 '&&' 内に '||' がある。



<スパン 質問元



<スパン  if (exists && !isDirectory || !exists).........。



<スパン  回避策:if ((exists && !isDirectory) || !exists).........。







6、WARNING:警告。 Copy Bundle Resources のビルド フェーズには、このターゲットの Info.plist ファイルが含まれています。



<スパン 回避策 Info.plistファイルをtarget直下ではなく、Resourcesディレクトリに移動します。











7, 警告 ASIHttp...サードパーティライブラリを使用すると、エラーで実行されます。



<スパン 解決方法 プロジェクトにCFNetwork.framework、SystemConfiguration.framework、MobileCoreServices.frameworkが追加されているかどうかを確認します。



CoreGraphics.framework および libz.1.2.3.dylib, sdk5.0 以上の場合、代わりに libz.1.2.5.dylib を追加してください。







8、警告: xxxooo。 行方不明  必須  アーキテクチャ  i386  で  ファイル



解決方法 エラーメッセージが表示された場合
ターゲット->ビルド設定->Search Pathsで、FrameworkSearch Pathsの中身を削除すればOKです。



警告だけなら、実機デバッグはパスできる。正確な解答は神出鬼没に待つしかない。 







<スパン 9、警告



clang: エラーです。  そのようなファイルやディレクトリはありません: '/demo2/control-code/13/Recorder/Recorder_Prefix.pch'.



clang: error: no input files



コマンド /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang は、終了コード 1 で失敗しました。




<スパン 解決方法 メインプロジェクトファイルのターゲット検索、pchで、Prefixヘッダを見つけます。   それ以降の値を取って、全部削除して、もう一度実行すれば解決です。







10、警告



<スパン " ARCは、所有権や保存属性が指定されていないObjective-Cオブジェクトのプロパティを合成することを禁じています。



<スパン 解決方法 ARCが有効であると定義されている場合、owner属性が定義されている必要があります。



プロパティ  (非アトミック。  を強くする。  読み取り専用)  NSString  *ss 







<スパン 11、警告



io6以降のxibシステムでは、自動的にUse Autolayoutを選択するものがない、iOS 5以下とiOS 6のxibをサポートする 



<スパン 回避策 xib のビューのファイルインスペクタで "Use Autolayout" の選択を解除するだけで、サイズインスペクタでおなじみのオートサイズに戻り、ドーンと iOS 5 以下をサポートするようになります。







<スパン 12、警告



警告  出力ファイル xxx.png に対する複数のビルドコマンド 



<スパン 解決方法 プロジェクト内で重複する xxx.png を見つけ、重複するリソースを削除します。







//xcode 5.0.1へのアップグレード後、以下の警告が発生しました。



13、警告



<スパン iOS Emulator"は、このアプリケーションをインストールするために失敗しました。



<スパン 回避策 エミュレータ上で現在動作しているアプリを削除し、プロジェクトを再実行します。うまくいきます!







14、警告



SpringBoardはアプリケーションを開始できませんでした Error:-3



<スパン 回避策 エミュレータを終了し、プロジェクトを再実行してください。







15、警告



サーバー証明書の検証に失敗しました。

解決策



<スパン 1. ターミナル(ユーティリティ -->ターミナル)を開き、ターミナルに以下のコマンドを入力します。



svn ls  https://192.100.1.11?0 /svn/xxxxxx (下のurlは自分のurlアドレスに置き換わることに注意)



次に、直接 " p " と入力します。   確認すると、再接続の準備が整います。







<スパン 1 <スパン 6 , 警告



Objective-Cのオブジェクトポインタのイントロスペクションのためのビットマスクは、強く推奨されません。

解決策



ある数字& 0x1が1であろうとなかろうと最下位ビットを取るように表現され、次のように変更されました。   if(JK_EXPECT_F(((NSUInteger)object)%2)) will do.







<スパン 1 <スパン 7 , 警告



暗黙的な変換により、整数の精度が失われます: 'unsigned long' から 'CC_LONG' (別名 'unsigned int') への変換。

解決策



<スパン  CC_MD5(str,strlen(str), r); を次のように変更した。   CC_MD5(str, (CC_LONG)strlen(str), r); これで終わりです。







<スパン 1 <スパン 8 , 警告



error: '/private/var/mobile/Applications/' の起動に失敗しました。 xxxxx ' -- プロセス 11140 のタスクの取得に失敗しました。



<スパン 解決策



<スパン  開発用携帯電話を再起動するだけで、開発者証明書とリリース証明書が間違っている可能性もあるので、xcode の証明書が .NET Framework になっているかどうか確認してください。







関連する警告に遭遇した場合、通常はコンパイラが解決策を提示してくれるので、初心者はコンパイラが与えてくれるヒントを読んで、半分の労力で問題を解決できるようにしましょう。 <スパン




<スパン 1.  エラーメッセージを表示します。



<スパン <スパン OBJC_CLASS_$。   xxxxx   "、から参照されています。



ViewController.o の objc-class-ref。



ld: アーキテクチャ i386 用のシンボルが見つかりませんでした。



clang: エラーです。  リンカコマンドは終了コード 1 で失敗しました (呼び出しを確認するには -v を使用します)



<スパン 解決策



プロジェクトをチェックして、関連するフレームワークがインポートされていないかどうかを確認します。または、プロジェクトに同じ ".m",".h" ファイルが追加されています。







<スパン <スパン 2.  エラーメッセージを表示します。



dy.CKRiLiTextをブートストラップ・サーバーに登録できませんでした。  不明なエラーコード .



これは一般的に、このプロセスの別のインスタンスがすでに実行されていたか、デバッガ.カレント言語でハングアップしていることを意味します。   auto; 現在 objective-c



<スパン 解決策  コンピュータのメモリの問題が原因である可能性があり、コンピュータを再起動することで解決します。再起動しても問題が解決しない場合は、先ほど変更したコードが原因です。







<スパン <スパン 3 , エラーメッセージ。



<スパン <スパン <スパン <スパン <スパン <スパン <スパン ios 5 は問題なくデバッグできます は、その 実機でios 6のデバッグを行うと、以下のエラーが発生します。 l d: ファイルはユニバーサル(3スライス)ですが、armv7sスライスを含んでいません(n)。/ユーザー/mac4/デスクトップ/私のデスクトップ/私のアプリ/MyAppの名前 20:09:12   /MyApp名/ZBarSDK/libzbar.a アーキテクチャ armv7s用 <スパン <スパン <スパン <スパン のエラーが発生しました。  リンカコマンドは終了コード 1 で失敗しました(-v で起動を確認できます)。



<スパン 解決策 Xcodeで、適切なTargetをクリックし、Build Settingsをタップして、VALID_ARCHSを見つけ、そこにarvm7sがあるかどうかを確認し、なければarvm7sに変更すれば完了です。







<スパン 4 、エラーメッセージ。



のエラーが発生しました。  インスタンスメッセージのレシーバタイプ 'ViewController' が、セレクタ 'hideSearchBar:' を持つメソッドを宣言していません。[4]



ViewController には、「hideSearchBar」を選択するためのメソッドが宣言されていません。



<スパン 解決策



このメソッドを ViewController .h で宣言してください。 <スパン 非表示の検索バー  "です。  以上です。







<スパン 5. エラーメッセージ jsonを削除すると サーバサイドリクエストでは、文字列 というように書かれているとエラーになります。 <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン トップレベル宣言子の後に ';' をつける



NSString *ss= @"{"recommend":"The end of the world"、" <スパン <スパン <スパン <スパン <スパン <スパン <スパン ドッグネーム ":"ロボット"}"。 



<スパン 解決策



というのは <スパン を置く。   "です。  <スパン で置き換える  <スパン \♪♪~   以上です。
<スパン <スパン <スパン NSString *ss= @"{ <未定義 <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン \♪♪~ おすすめ <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン \♪♪~ : <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン \♪♪~ 世界の終わり <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン \♪♪~ , <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン \♪♪~ ドッグネーム <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン \♪♪~ : <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン \♪♪~ ロボット <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン <スパン \♪♪~ }"。 







<スパン 6 , エラーメッセージ。



エラーが発生しました。エラー: プロパティ 'datasource' のインスタンス変数 '_datasource' が存在します。   assign 属性は __unsafe_unretained である必要があります。







<スパン 解決策



 id _datasource; に変更します。   __unsafe_unretained id _datasource:can




31 は、その 警告



<スパン 警告を表示します。  意味上の問題 'BOOL' (別名 'signed char *') から 'BOOL *' (別名 'signed char') への代入で、互換性のない整数からポインタへの変換が発生する。







<スパン ソリューション <スパン : BOOL *がBOOLに置き換わっていることを確認し、もう一つ書かれていないことを確認するだけでよい   *   いいえ。











32:Jsonkitにおける警告







objective-c の isa に直接アクセスすることは推奨されず、 object_setClass() および object_getClass() を使用するようになりました。



object->isa object_getClass(object)に置き換える。



keyObject->isa object_getClass(keyObject)に置き換えます。



(id)keys[idx]->isa object_getClass((id)keys[idx]) に置き換えます。







形式が 'unsigned long' を指定しているのに、引数が 'nsuinteger' (別名 'unsigned int') 型である。



型変換のために変数に(unsigned long)を追加する。











33: md5暗号化(iOS SDKのCommonCryptoに付属しています。)







関数 'CC_MD5' の暗黙の宣言が C99 で無効である。







[プレーン)ビュー・プレーンコピー







#define CC_MD5_DIGEST_LENGTH 16 

+(NSString *)MD5HashForString:(NSString *)入力{。 

const char *cStr = [入力 UTF8String]; 

unsigned char result[CC_MD5_DIGEST_LENGTH]; 

CC_MD5(cStr, strlen(cStr), result); 

return [NSString stringWithFormat: @"xxxxxxxxxxx", 

result[0]、result[1]、result[2]、result[3]。 

result[4]、result[5]、result[6]、result[7]。 

result[8]、result[9]、result[10]、result[11]。 

result[12]、result[13]、result[14]、result[15]]となります。 







関数定義用のヘッダーファイルの導入







#インポート











34:ASIDataDecompressorにおける警告について







形式はタイプを指定します  'ショート'ですが  引数の型は 'int' です。







(NSError *)deflateErrorWithCode:(int)code と +(NSError *)inflateErrorWithCode:(int)code において。







[NSString stringWithFormat:@"Compression of data failed with code %hi",code] である。







<スパン コードを(短)コードに変更、タイプ変換












35: 到達可能性における警告







stringWithString:' をリテラルで使用するのは冗長です。







statusString = [NSString stringWithString: @"Not Reachable"]; 







statusString = @"Not Reachable"に変更します。











<スパン 36. format は型 'id' を指定していますが、引数は型 'const char *' です。








NSCAssert(NO, @"Unhandled error encountered during SAX parse. msg is %@", msg);



<スパン に変更します。NSCAssert(NO, @"Unhandled error encountered during SAX parse. msg is %@", [NSString stringWithUTF8String:msg]) に変更しました。








<スパン 37 <スパン stringWithString:' をリテラルで使用するのは冗長です。