どのように私はcom.apple.tools.info-plistの-ユーティリティを実行することができますか?

StackOverflow https://stackoverflow.com/questions/1279571

  •  16-09-2019
  •  | 
  •  

質問

私は外部から、以下に示す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ます。

私は私のカスタムビルドプロセスの一環として、私のアプリケーションを再署名しようとしているあらゆる種類の問題に実行しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top