我的客戶有一個iOS應用程序,啓用了應用程序內購買,遊戲套件和推送通知,它目前在應用程序商店中。我想使用內部企業分發證書來退出應用程序,以便在內部進行測試,但仍能夠測試與原始配置文件綁定的服務。這可能嗎?辭職iOS配置文件
回答
我終於實現了這一點,這是一個組合: -
和
1)創建權利的plist,防止問題與鑰匙扣等
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>GBA9L2EABG.com.your.bundle.id.MyApp</string>
<key>get-task-allow</key>
<false/>
</dict>
2)解壓縮IPA
unzip Application.ipa
3)拆下舊的代碼簽名
rm -r "Payload/Application.app/_CodeSignature" "Payload/Application.app/CodeResources" 2> /dev/null | true
4)更換嵌入式移動的provisioning profile
cp "MyEnterprise.mobileprovision" "Payload/Application.app/embedded.mobileprovision"
5)辭職
/usr/bin/codesign -f -s "iPhone Distribution: Certificate Name" --resource-rules "Payload/Application.app/ResourceRules.plist" --entitlements Entitlements.plist "Payload/Application.app"
6)重新包裝
zip -qr "Application.resigned.ipa" Payload
只是一點點增加科科卡爾的迴應,如果你運行與codesign_allocate問題,當你到了第5步(Resign),請嘗試導出一個shell變量CODESIGN_ALLOCATE,併爲其指定一個iPhone SDK中代碼分配的路徑。要做到這一點,請確保您有安裝(在Xcode首選項/更新)
例如Xcode的命令行工具,我得到的錯誤:
me$ /usr/bin/codesign -f -v -s "iPhone Distribution: Some Company, Inc" --resource-rules "Payload/MyApp.app/ResourceRules.plist" --entitlements Entitlements.plist "Payload/MyApp.app"
輸出:
Payload/MyApp.app: replacing existing signature
codesign_allocate: object: /Users/mimio/Downloads/Payload/MyApp.app/MyApp malformed object (unknown load command 33)
Payload/MyApp.app: object file format unrecognized, invalid, or unsuitable
爲了解決這個問題,我這樣設置變量:
me$ export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
然後再次運行我的命令:
me$ /usr/bin/codesign -f -v -s "iPhone Distribution: Some Company, Inc" --resource-rules "Payload/MyApp.app/ResourceRules.plist" --entitlements Entitlements.plist "Payload/MyApp.app"
瞧!一切正常工作與新codign_allocate
要辭去一個應用程序比@Koko卡爾說的更容易一點,我們已經適應了浮動腳本,它可以在https://gist.github.com/Weptun/5406993找到。 使這個過程非常簡單:
sh floatsign.sh ~/Downloads/File.ipa "iPhone Distribution: CertificateName" -b new.bundle.id -p /Path/To/Profile/Appstore.mobileprovision App-resigned.ipa
警告: - 在Mac OS X> = 10.10中不推薦使用--resource-rules! temp/Payload/Application.app/ResourceRules.plist:無法讀取資源 發生錯誤,正在中止! – 2016-07-28 12:55:35
當搜索這是stackover流的第一個問題shownup。所以想要用最新的iResign mac應用程序進行更新,這使得使用GUI而非終端中的命令變得非常容易。
iReSign
iReSign允許的iDevice的應用程序包(的.ipa)文件進行簽名或與蘋果公司的數字證書進行分發辭職。它還可以從.xcarchive文件創建簽名的iDevice應用程序包(.ipa)文件。此工具針對企業用戶,企業部署時簽名應用程序的人員與開發應用程序的人員不同。
如何使用
iReSign讓你重新簽署任何未加密的ipa文件與您持有對應私鑰的任何證書。 iResign也可以從xcarchive文件創建一個簽名的ipa文件。
將未簽名的.ipa或.xcarchive文件拖動到頂部框中,或使用瀏覽按鈕。
從Keychain Access輸入您的完整證書名稱,例如底部框中的「iPhone Developer:Firstname Lastname(XXXXXXXXXX)」。
點擊ReSign!並等待。辭職的文件將保存在與原始文件相同的文件夾中。
對4個不同的問題你有同樣的答案。如果問題可以用相同的答案回答,那麼你應該標記它是重複的,而不是重複的答案。 – NathanOliver 2016-01-08 13:37:43
完美重新簽署發送給AppStore的ipa。只需要找到正確的配置文件和證書(如果你有多個)。我將entitlement.plist留空,似乎創建了一個節奏,如果沒有找到。然後我使用iMazing安裝了我的辭職ipa。現在我可以仔細檢查一下,我提交的應用程序在到達商店和/或等待批准之前會按預期工作。 – 2016-04-11 15:06:01
- 1. 鍵盤不辭職辭職後,它在ios 8.3
- 2. 用adhoc配置文件辭職解密的ipa
- 3. UITextView不辭職
- 4. 辭職TextField的數字鍵區ios
- 5. Xamarin iOS App。辭職分配配置文件。錯誤:「無效的簽名。密封的資源丟失或無效」
- 6. 如何辭職SWRevealViewController?
- 7. UITexfield鍵盤辭職
- 8. 的UITableViewCell辭職FirstResponder
- 9. 辭職文本字段 - 代碼重用
- 10. 辭職的ipa安裝iOS中8,但在iOS的9+
- 11. 辭職鍵盤迅速1.2
- 12. 辭職textview的響應者
- 13. 辭職外的Xcode應用
- 14. UITextField不辭職鍵盤
- 15. 有一個問題,使用Calabash-Android來辭職android apk文件
- 16. 在使用libimobiledevice之前辭職ios應用程序
- 17. 辭職iOS應用程序(.monotouch-32符號鏈接)
- 18. 的iOS,而不是當應用程序被辭職
- 19. iOS配置配置文件錯誤
- 20. iOS配置配置文件已過期
- 21. 如何繞過辭職和更新
- 22. 鍵盤辭職減少彈跳高度
- 23. 手動辭職IPA失敗,APNS
- 24. NSTextField辭職第一響應者
- 25. 辭職後提交cordova .ipa的問題
- 26. 辭職First Responder UITextView。臨時UINavigationBar?
- 27. ios配置文件續訂
- 28. iOS配置文件到期
- 29. 正常配置文件和配置配置文件之間的區別iOS
一個命令,如果你辭職.app文件可以這樣做:'xcrun -sdk的iPhoneOS PackageApplication -v 「建設/ YourProject-的iPhoneOS/youAppName.app」 -o「output_folder/yourAppName.ipa 「 - 簽名」yourCertificateName「 - 嵌入」your.mobileprovision「' – Xiao 2014-02-27 03:00:01
」GBA9L2EABG.com.your.bundle.id.MyApp「 - 這是您創建的捆綁ID,還是原始的捆綁ID IPA? 如果您更改原始應用的捆綁ID,是否也推送通知? – Leonti 2014-11-14 14:34:08
當我嘗試安裝應用程序獲取錯誤作爲appName的CFBundleExecutable,這是不可執行的。我嘗試了chmod + x命令來appName.app仍然是相同的錯誤。 – Raghav 2015-05-29 07:04:40