iOS開發--in house發布和安裝(ipa重新簽名)

來源:互聯網
上載者:User

in house從字面意思理解就是‘內部的’,in house版本的ipa就是一個用於公司內部使用或測試的一個蘋果應用程式安裝包。 作為一個app應用程式開發人員,在app應用程式在蘋果商店上架前總需要將安裝包安裝到ios機器上進行測試,這個時候我們就需要打包in house版本的ipa了,打包in house實際上是一個將ipa應用程式重新簽名的一個過程。下面我們就講述如何發布in house         一般來說打包in house需要以下東西 MAC機器,一般打包ipa都是在MAC機上打包的,一個尾碼名為.mobileprovision概要設定檔,一個尾碼名為P12的認證,還有一個尾碼名為.cer的認證,還有就是你想重新簽名的ipa. 如果你的P12認證已經包含專用密鑰那麼只需要在MAC上雙擊P12j將認證和密鑰匯入到鑰匙串中去。 如果沒有包含專用密鑰,那麼為P12匯入專用密鑰 ,在mac機中雙擊P12和密鑰在鑰匙串中倒開然後選中認證和專用密鑰,右鍵匯出兩項如)然後彈出另外一個對話方塊提示儲存的路徑和格式,路徑自己定,格式選擇"個人資訊交換(.P12)") 這樣我們就得到了一個包含專用密鑰的P12認證 這樣我們就在鑰匙串中有了認證。 你可以在MAC機上建立一個檔案夾,放入概要設定檔123.mobileprovision,P12認證,cer認證,和test.ipa 在檔案夾中建立一個ResourceRules.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>rules</key><dict><key>.*</key><true/><key>Info.plist</key><dict><key>omit</key><true/><key>weight</key><real>10</real></dict><key>ResourceRules.plist</key><dict><key>omit</key><true/><key>weight</key><real>100</real></dict><key>^SC_Info/.*\.sinf$</key><dict><key>omit</key><true/><key>weight</key><integer>10000</integer></dict><key>^SC_Info/.*\.supp$</key><dict><key>omit</key><true/><key>weight</key><integer>10000</integer></dict></dict></dict></plist>然後再在檔案夾中我們命名為inhouse.sh,在inhouse.sh寫入如下命令 if ! ([ -f "$1" ]); thenecho \"${1}\"不是合法檔案exitfiipaName=${1%.ipa}if [ "$ipaName" = "$1" ]; thenecho \"${1}\"不是ipa檔案exitfiunzip ${ipaName}.iparm -rf Payload/*.app/_CodeSignature/cp 123.mobileprovision Payload/*.app/embedded.mobileprovision(/usr/bin/codesign -f -s "iPhone Distribution: Ifree studio limited" --resource-rules Payload/*.app/ResourceRules.plist Payload/*.app/) || {echo failedrm -rf Payload/exit}  zip -r ${ipaName}Inhouse.ipa Payload/rm -rf Payload/ 其中Ifree studio limited就是認證在鑰匙串中的名字可以查看中鑰匙串的名稱然後就是在mac機器上的終端命令中跳到檔案夾中執行./inhouse.sh test.ipa 這樣就會打包出ipa了 如果提示沒有許可權可以通過命令  chmod 777 inhouse.sh為inhouse.sh添加許可權,另外如果在執行sh命令時候報錯可以在命令中輸入 export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"這樣我就在檔案中得到了一個名字為testInhouse.ipa的檔案。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.