你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發--in house發布和安裝(ipa重新簽名)

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

編輯:IOS開發綜合
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" ]); then echo \"${1}\"不是合法文件 exit fi ipaName=${1%.ipa} if [ "$ipaName" = "$1" ]; then echo \"${1}\"不是ipa文件 exit fi unzip ${ipaName}.ipa rm -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 failed rm -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的文件。  
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved