2011-12-08 12 views
3

私はコマンドラインでiPhoneアプリケーションを構築しようとしています。iphoneアプリでinfo.plistを変換するplistユーティリティ

Info.plistファイルに問題があります。

XCodeのは、このように、のInfo.plistバイナリファイルにのMyApp-のInfo.plist XMLファイルを変換します

builtin-infoPlistUtility MyApp-Info.plist -genpkginfo <path>/MyApp.app/PkgInfo -expandbuildsettings -format binary -platform iphoneos -resourcerulesfile <path>/MyApp.app/ResourceRules.plist -o <path>/MyApp.app/Info.plist 

今日、私はXCodeのでのInfo.plistをコンパイルして、I codesignでMyApp.appに署名することができます。

私はこのように、plutilツールでのInfo.plistをコンパイルしよう:私は他のオプションが必要だと思う

object file format invalid or unsuitable 

:それは作品

plutil -convert binary1 <path>/MyApp.app/Info.plist 

が、その後、協調設計エラーで失敗しましたplutil用のユーティリティですが、私にはわからないものがあります。

お願いします。

答えて

2

私は確かにInfo.plistファイルが動作するためにバイナリ形式である必要はありません。標準のXMLファイルとして残しておけばうまくいきますか?

CFBundleResourceSpecificationキーが見つからないときにこのエラーメッセージが表示され、おそらく値がResourceRules.plistである必要があります。 CFBundleExecutableキーが見つからない場合にも起こります。

  1. は、Xcodeの
  2. 設定最小バージョン、プラットフォーム、姿勢などに新しい新鮮なiOSアプリを作成します。

    たアプリケーションバンドルで使用されているどのキーを確認する良い方法はこれを行うことです

  3. はアプリの「ファインダー内の表示を」プロジェクトツリーで「製品」グループを展開し、選択したアプリをビルドし
  4. アプリケーションバンドルの「パッケージの内容を表示」を選択し
  5. オープンInfo.plistファイルとあなたがXML形式にバイナリplistをしたに変換したい場合は、それ

に使用plutilを点検。

+0

これだけです! .appに署名したときにエラーが発生したため、XcodeのようにバイナリInfo.plistを持っていなければならないと思った。しかし、あなたが言及したようにCFBundleResourceSpecificationキーを含め、それは動作します!すばらしいです !ありがとうございました ! – TheFrancisOne

+0

しかし私は見つけられなかった別の質問があります:私はXCodeと同様に "IOS target deplyment"を指定したいと思います。私はInfo.plistで "MinimumOSVersion"キーを試しましたが、Appleによって廃止され、codesignはこのキーで失敗します。どんな助け? – TheFrancisOne

+0

'LSMinimumSystemVersion'継ぎ目が新しい鍵になります。最終的なアプリケーションバンドルで使用されるキーを把握するためのより一般的な方法で私の答えを更新しました。 –

関連する問題