Xcode3.1.4 + iPhone SDK 3.1.2 + iPhone 3G(OS 3.1.2[7D11]) + JSON Framework (2.2.2)で遭遇しました。
エラーメッセージ
- Codesign error: 〜“object file format invalid or unsuitable”
コンパイルエラーの対処方法
プロジェクト > プロジェクト設置の編集 > ビルド > コード署名リソース・ルールパス を編集
デフォルトでは空欄なので以下を追加
- $(SDKROOT)/ResourceRules.plist
これでコンパイルは通るようになります。しかし実機での実行時に[NSObject JSONValue]メソッドが呼び出せないエラーが起こり例外エラーになってしまいます。この対処法がわからない。
JSON Frameworkの導入はここを参考に
http://www.syuhari.jp/blog/archives/1146
コンパイルエラーの対処法はここを参考にしました。
http://iphone.galloway.me.uk/2009/04/json-framework-codesign-object-file-format-invalid-or-unsuitable/
解決
JSON Frameworkを使うときに[NSSring JSONValue]が呼べない問題は
- //ここでJSONValueを使うのはだめ,実機で落ちる
- //NSDictionary* jsonItem = [jsonStr JSONValue];
- //こっちを使う エラーはセットしておく方が大人の対応。
- NSError *error;
- SBJSON *json = [[SBJSON new] autorelease];
- NSDictionary *jsonItem = [json objectWithString:jsonStr error:&error];
- if (!jsonItem) {
- NSLog(@"%@", error);
- }
JSON Framework - Google Codeのフォーラムで議論されてました。
http://code.google.com/p/json-framework/issues/detail?id=22