2011-12-08 44 views
3

我嘗試使用命令行構建iPhone應用程序。plist實用程序轉換iphone應用程序中的info.plist

我在Info.plist文件中遇到問題。

的XCode轉換XML文件MyApp的-Info.plist中二進制文件的Info.plist,像這樣:

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 

今天,我編譯的Info.plist與XCode的,然後我可以成功地使用密碼簽名MyApp.app。

我嘗試編譯的Info.plist與plutil工具,就像這樣:

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

它的工作原理,但隨後協同設計失敗,錯誤:

object file format invalid or unsuitable 

我想我需要其他選擇爲plutil實用程序,但我不知道哪些。

請幫忙嗎?

回答

2

我很確定Info.plist文件不需要以二進制格式工作。如果你只是把它作爲標準的XML文件,它會工作嗎?

CFBundleResourceSpecification鍵缺失時,我看到此錯誤消息,應該可能有值ResourceRules.plist。如果CFBundleExecutable密鑰丟失,它也會發生。

的一個好辦法,看看哪些鍵是在一個應用程序產生的捆綁使用是要做到這一點:

  1. 在Xcode
  2. 配置最低版本,平臺,方位等創建一個新的新iOS應用
  3. 構建應用程序
  4. 展開「產品」組中的項目樹,然後選擇「在Finder中顯示」上的應用程序
  5. 選擇「顯示包內容」的應用程序捆綁
  6. 打開Info.plist文件,並檢查它

使用plutil如果你想轉換爲生成的二進制文件的plist爲XML格式。

+0

就是這樣!我認爲我必須像XCode那樣有一個二進制Info.plist,因爲當我簽署.app時,我有一個錯誤。但是,包括您提到的CFBundleResourceSpecification關鍵字,它的工作原理!太好了!謝謝 ! – TheFrancisOne

+0

但我還有另一個問題,我沒有找到:我想指定「IOS目標deplyment」,因爲我可以用XCode做。我在Info.plist中嘗試了「MinimumOSVersion」鍵,但蘋果不推薦使用它,並且密碼使用此鍵失敗。任何幫助? – TheFrancisOne

+0

'LSMinimumSystemVersion'接縫成爲新鑰匙。我用更通用的方式來更新我的答案,以找出最終應用捆綁包上使用的密鑰。 –

相關問題