ipa生成方法


根據實踐操作經驗,提供.ipa的生成和安裝方法:
方法1:
a. 新建Payload資料夾
b. 將編譯生成.app放入Payload中
c. 右鍵生成壓縮檔,將.zip后綴名改為.ipa
d. 連接jailbreak的iPod或iPhone,雙擊.ipa文件,同步即可安裝成功

方法2:
1)建立 IPA 資料夾
2)在 IPA 資料夾內建立 Payload 資料夾
3)把編譯好的 .app 拷到 Payload 內
4)利用 BBEdit 打開 .app 資料夾內的 info.plist 檔
5)在 </dict> 之前加入以下句子並儲存:
<key>SignerIdentity</key>
<string>Apple iPhone OS Application Signing</string>
6)把本來要上傳到 iTunes Connect 的 512x512 JPG 放到 IPA 資料夾
7)把 JPG 檔改名為 iTunesArtwork
8)把 Payload 及 iTunesArtwork 壓縮成 ZIP 檔
9)把 Payload.zip 改名為 Final.ipa
10)把 Final.ipa 拖拉到 iTunes 的 Applications 內
11)同步!
留意 07 步驟的 iTunesArtwork 是沒有後方 .jpg 的。

以上生成的.ipa只能運行在和之又諧版(jb)的iPod或iPhone上


在沒有iDP的情況下,要想將程序放到iPhone上調試,並最終發布IPA用於分享,需要以下幾個步驟:

1.自己為自己頒發一個證書用於為生成的程序簽名

2.修改工程配置以及Xcode的配置文件和二進制文件以阻止其驗證和使用這個偽造的證書

3.使用自定義的步驟為應用程序簽名

4.使用一點小trick來生成IPA文件

1.創建證書

我會分幾步來說明。值得說明的是,要想真機調試,ios device必須事先越獄.創建證書的過程比較簡單,打開實用工具-鑰匙串訪問。然后在菜單欄里點擊鑰匙串訪問-證書助理-創建證書來打開向導。第一個步驟比較重要,必須要把名稱命名為iPhone Developer,將類型設定為代碼簽名,將"讓我覆蓋這些默認值"選中。之后的步驟無需更改,一路點擊“確定”和“繼續”來完成這個向導就可以。

1.創建證書,這個沒什么好說的,網上資料一大堆,只要別寫錯名字就好,證書名一定要為 iPhone Developer

ipa生成方法 - J.K.Terry - J.K.Terry

2.破解ios sdk及其xcode的相關配置文件(雙擊配置文件就可以打開,注意SDKSettings.plist有權限控制)

修改/Developer/Platforms/iPhoneOS.platform目錄下的Info.plist文件,將其中的 XCiPhoneOSCodeSignContext 都改為XCCodeSignContext

修改/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk目錄下的SDKSettings.plist文件,修改如下字段:


   
   
   
           
  1. <key>CODE_SIGNING_REQUIRED</key> 
  2. <string>NO</string> 
  3.  
  4. <key>ENTITLEMENTS_REQUIRED</key> 
  5. <string>NO</string> 

3.破解xcode二進制文件。建立一個crack文件,內容如下:


   
   
   
           
  1. #!/bin/bash 
  2. cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/ 
  3. dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255 
  4. printf "xc3x26x00x00" >> working 
  5. /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original 
  6. /bin/mv -n working iPhoneOS\ Build\ System\ Support 
  7. chmod a+x iPhoneOS\ Build\ System\ Support 

然后執行 chmod +x crack執行./crack,沒錯誤就正常

4.修改xcode工程配置文件

1) 下載腳本

打開終端,執行如下操作


   
   
   
           
  1. cd  /Developer 
  2. mkdir xcode-crack 
  3. curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt 
  4. mv gen_entitlements.txt gen_entitlements.py 
  5. chmod 777 gen_entitlements.py

2) 禁用Xcode自動的簽名操作

將工程配置中所有的Code Signing選項全部設為Don't Code Sign,如圖。可能需要先點擊“All”讓這個選項顯示出來

ipa生成方法 - J.K.Terry - J.K.Terry

3)添加自定義的生成后腳本

在Build Phases中添加一個Phase,右下角的Add Build Phase,然后單擊Add Run Script,輸入以下腳本(如圖)


   
   
   
           
  1. export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate 
  2. if [ "${PLATFORM_NAME}" == "iphoneos" ]; then 
  3. /Developer/xcode-crack/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent"; 
  4. codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/" 
  5. fi 

ipa生成方法 - J.K.Terry - J.K.Terry

5。打包應用程序,生成ipa文件

在xcode上選擇product菜單,選擇Build For ---> Build for Achiving,就能成ipa文件了。如圖:

ipa生成方法 - J.K.Terry - J.K.Terry

可以將這個文件拖到itunes,就可以生成一個ipa文件,如圖:

ipa生成方法 - J.K.Terry - J.K.Terry

至此,我們就可以隨心所欲地開發並調試ios程序了,並可以將打包好的ipa文件分享給他人

按照上面的步驟導入3.x的工程成功運行,但是如果用XCode 4.2創建新工程,則會報錯,需要做如下修改:

1、將【Objective-C Automatic Reference Counting】的默認值由【YES】改為【NO】;

2、輸入下面的代碼注意沒有特殊字符


   
   
   
           
  1. export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate   
  2. if [ "${PLATFORM_NAME}" == "iphoneos" ]; then   
  3. /Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";   
  4. codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"   
  5. fi


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM