2016-04-27 65 views
2

我有一個.ipa文件,我需要辭職。我試圖按照objc.io blog上的解釋:如何使用權利辭職應用程序?

$ codesign -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app 

然而這是不夠的。當我做密碼我得到這樣的事情:

$ codesign -d --entitlements - Example.app/Example 
Executable=/Users/myuser/Payload/Example.app/Example 

我沒有得到任何權利列出。

但是如果我在原來的IPA文件做codesign -d --entitlements在Xcode中,我得到:

<plist version="1.0"> 
<dict> 
    <key>application-identifier</key> 
    <string>UFAYDHAUP.com.company.example</string> 
    <key>aps-environment</key> 
    <string>production</string> 
    <key>beta-reports-active</key> 
    <true/> 
    <key>com.apple.developer.team-identifier</key> 
    <string>UFAYDHAUP</string> 
    <key>get-task-allow</key> 
    <false/> 
    <key>keychain-access-groups</key> 
    <array> 
     <string>UFAYDHAUP.com.company.example</string> 
    </array> 
</dict> 
</plist> 

我試過下面

codesign --entitlements Example.app/archived-expanded-entitlements.xcent -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app 

行,但下面的鍵不包括:

  • beta-reports-activ
  • get-task-al低

那麼我該如何做到這一點?我沒有權利文件,在xCode 7中,只有一個檢查功能。我擁有的是Apple推送通知。

最後澄清我的要求:

  1. 相比,現在的Xcode出口我不會改變應用程序ID或使用不同的供應配置文件或代碼簽名身份。
  2. 只有主要的可執行文件是用一個工具改變的,這就是爲什麼需要重新簽名的原因。

回答

2

答案其實在問題本身中是非常明顯的。輸出來自:

$ codesign -d --entitlements - Example.app/Example 

實際上是一個完全有效的授權文件。

$ codesign -d --entitlements entitlements.xml Example.app/Example 

這將存儲在entitlements.xml的權利,你可以在隨後的參數用來簽署.ipa文件自己:

所以,你可以通過書面形式從Xcode中導出原始的.ipa輸出存儲
codesign --entitlements entitlements.xml -f -s "iPhone Distribution: Company (UFAYDHAUP)" Payload/Example.app 

當然,「iPhone Distribution:Company(UFAYDHAUP)」必須替換爲您使用的簽名標識,並且Payload/Example.app將成爲您的應用的路徑,該路徑已從.ipa文件解壓縮。

相關問題