どのように私はcom.apple.tools.info-plistの-ユーティリティを実行することができますか?
質問
私は外部から、以下に示すXCodeのビルドステップと同様に情報のplistファイルを処理したいと思いますiPhoneアプリケーションを構築するためにはXCodeを使用していません。
Processing /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app/Info.plist TestAppGen-Info.plist
mkdir /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app
cd /Users/kte/Projects/TestAppGen
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
<com.apple.tools.info-plist-utility> TestAppGen-Info.plist -genpkginfo /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app/PkgInfo -expandbuildsettings -format xml -o /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app/Info.plist
ビルド・ログからのこの抜粋は、私はネットの周りにさまざまなソースから収集com.apple.tools.info-plistの効用を指す内部XCodeのユーティリティです。
コマンドラインからcom.apple.tools.info-plistの-ユーティリティを実行することは可能ですか?
解決
あなたは、/usr/libexec/PlistBuddy
、PlistBuddyと呼ばれるツールを使用してそのmanページを見てすることができます。
しかし、あなたはまた、バイナリplistファイルに戻すのplistを変換する必要があります。これは、ビルドスクリプトに次のように行うことができます。
plutil -convert binary1 "$TARGET_BUILD_DIR/$INFOPLIST_PATH"
他のヒント
「plutil」答えは素晴らしいスタートです。残念ながら、Xcodeのビルドプロセスが私のシステムで、たとえば、バイナリに変換よりも、Info.plistファイルへのより多くの処理を行い、それがフィールドに追加します:
-MinimumOSVersion
-PlatformName
-CFBundleExecutable
-SDKName
-CFBundleResourceSpecification
-CFBundleSupportedPlatforms
<のhref = "https://developer.apple.com/library/mac/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW1によると、 「REL =」nofollowをnoreferrer ">あなたはこれらの値の一部を設定することになっていないのアップルのドキュメントを自分ます:
MinimumOSVersion
MinimumOSVersion(文字列)。ときにあなたを iPhoneアプリケーションを構築し、Xcodeの によって決定される(対象OSノート などの塩基SDK選択) MinimimOSVersionプロパティ。しない このプロパティを自分で指定します Info.plistファイル;それは システム-書かプロパティ。ときにあなたを アプリケーションにアプリケーションを公開します ストアは、ストアがiPhoneを示し、 アプリケーション上のOSリリース このプロパティに基づいて実行することができます。それはあります に相当 Mac上LSMinimumSystemVersionプロパティ OS Xます。
私は私のカスタムビルドプロセスの一環として、私のアプリケーションを再署名しようとしているあらゆる種類の問題に実行しています。