簡體   English   中英

重新簽署IPA文件

[英]re-sign IPA files

我們有另一個開發人員使用其證書開發的IPA文件。

我們正在嘗試重新簽署使用另一個開發者證書構建和分發的IPA。 如果您之前已經這樣做或對此有任何想法,請告訴我。

嘗試了以下鏈接中提到的一些解決方案,但是我們能夠生成IPA,但無法將其安裝在設備中。

我們正在iOS 8和Mac 10.10中進行嘗試。

重新簽名是一個多步驟過程,可能會在每個步驟中產生錯誤。 因此,請耐心等待,並嘗試自己理解每個步驟。

# Start with files:
# .ipa-file 'MyApp.ipa'
# New provisioning profile 'profile.mobileprovision'

# Unpack the .ipa-file
unzip MyApp.ipa

# Extract the old entitlements from the binary
codesign -d --entitlements :- Payload/MyApp.app > entitlements_old.plist

# Extract the new entitlements from the provisioning profile
security cms -D -i profile.mobileprovision > profile.plist
/usr/libexec/PlistBuddy -x -c 'Print :Entitlements' profile.plist > entitlements.plist

現在有一個手動步驟來編輯entitlements.plist以便application-identifier正確。 請參考entitlements_old.plist作為參考,但請注意,值開頭的小組標識符應不同。

# Then replace the embedded provisioning profile
cp profile.mobileprovision Payload/MyApp.app/embedded.mobileprovision

# Re-sign the binary and update entitlements
#
# Note: replace "Firstname Lastname (TEAMID123)"
#       with your certificate name
#
codesign -f -s "Firstname Lastname (TEAMID123)" \
    --entitlements entitlements.plist \
    Payload/MyApp.app

# Create ipa
zip -r MyApp2.ipa Payload/

可悲的是,出現錯誤時的錯誤消息沒有提供有關確切錯誤的任何特殊信息。 但這可能是:

  • 使用了錯誤的簽名身份
  • 二進制文件和配置文件之間的權利不匹配

試試這個軟件。 用企業證書重新簽署IPA對我來說很好。

https://github.com/maciekish/iReSign

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM