午夜三级a三级三点在线观看-韩国精品一区二区三区无码视频-免费无码肉片在线观看-男人扒开女人腿做爽爽视频

返回首頁

xcode5 如何生成ipa文件包

來源:www.wzyzyouth.com???時間:2023-01-08 08:59???點擊:160??編輯:admin 手機版

前提:

眾所周知,在Xcode上開發的程序只能在模擬器中運行,如果要放到真機上則要花費99美金購買開發者證書iDP。本文介紹的是在上一代 Xcode4.6.3上演示的,為何使用上一代版本的呢?很簡單,ios7還沒有實現大眾化越獄,所以很少有人使用越獄的ios7系統(大神除外),若要 運行Xcode5,鑒于無開發者證書且無越獄,想免費真機運行自己編寫的ipa文件的話,只有ios7越獄才是唯一出路,所以在沒有iDP的情況下,要想 將程序放到iPhone上調試,并最終發布ipa用于分享,需要以下幾個步驟:

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

2.修改工程配置以及Xcode的配置文件和二進制文件以阻止其驗證和簽名;

3.通過自定義生成步驟,用偽造的證書為應用程序簽名;

4.使用一點小技巧來生成ipa文件;

5.需要先越獄您的ios6系統的設備并通過Cydia安裝AppSync for ios4/5/6。

工具:iphone4 6.1.2已完美越獄,MacBook Pro13inch,Xcode4.6.3,Plist Editor(編輯plist文件使用)。

正式進入正題:

一、創建證書

打開實用工具-鑰匙串訪問。然后在菜單欄里點擊鑰匙串訪問-證書助理-創建證書來打開向導。第一個步驟比較重要,必須要把名稱命名為iPhone Developer,將類型設定為代碼簽名,將讓我覆蓋這些默認值選中。之后的步驟無需更改,一路點擊“確定”和“繼續”來完成這個向導就可以!

二、修改Xcode的配置文件

1.請先將Xcode按Command+Q完全關閉。

2.修改配置文件:

按照該路徑找到SDKSettings.plist然后進行編輯:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.plist

將以下兩段中的YES改為NO

<key>CODE_SIGNING_REQUIRED</key>

<string>YES</string>

<key>ENTITLEMENTS_REQUIRED</key>

<string>YES</string>

3.下面修改另外一個文件:

按照該路徑找到Info.plist然后進行編輯:

Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist

將Info.plist中全部的XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext,他們分別在DefaultProperties分支下、OverrideProperties分支下和RuntimeRequirements分支下。

4.添加文件:

連接互聯網后在終端執行:

mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements

cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements

curl -O

mv gen_entitlements.txt gen_entitlements.py

chmod 777 gen_entitlements.py

如果沒有聯網,可以在/Applications/Xcode.app/Contents/Developer文件夾下創建一個iphoneentitlements文件夾,然后在該文件夾下手動創建一個gen_entitlements.py文件,并授予其執行權限(命令:sudo),這個文件的內容為:

#!/usr/bin/env python

import sys

import struct

if len(sys.argv) != 3:

print Usage: %s appnamedest_file.xcent % sys.argv[0]

sys.exit(-1)

APPNAME = sys.argv[1]

DEST = sys.argv[2]

if not DEST.endswith('.xml') and notDEST.endswith('.xcent'):

print Dest must be .xml (for ldid) or.xcent (for codesign)

sys.exit(-1)

entitlements =

<?xml version=1.0encoding=UTF-8?>

<!DOCTYPE plist PUBLIC-//Apple//DTD PLIST 1.0//EN >

<plist version=1.0>

<dict>

<key>application-identifier</key>

<string>%s</string>

<key>get-task-allow</key>

<true/>

</dict>

</plist>

% APPNAME

f = open(DEST,'w')

if DEST.endswith('.xcent'):

f.write(\xfa\xde\x71\x71)

f.write(struct.pack('>L', len(entitlements)+ 8))

f.write(entitlements)

f.close()

三、修改工程設置(真機調試閃退的,請仔細的看此步驟,這步就是關鍵問題所在)

特別注意:本階段之前的修改配置文件、準備腳本等,只需要做一次。但本階段的操作,對每個需要真機調試的工程都要做一遍。

這個步驟的主要作用是支持真機調試,如果不做這個步驟,仍然可以通過步驟5來生成ipa在真機上運行,但是無法使用Xcode內置的調試器對在真機上運行的程序進行單步跟蹤。如果您的程序在點擊Run真機調試時秒退,請檢查此步驟是否正確完成。

1.禁用Xcode自動的簽名操作

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

2.添加自定義的生成后腳本

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

export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate

if [ ${PLATFORM_NAME} ==iphoneos ] || [ ${PLATFORM_NAME} == ipados]; then

/Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.pymy.company.${PROJECT_NAME}${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent;

codesign -f -s iPhone Developer--entitlements${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/

fi

如圖所示:

至此配置全部完成,下面就可以插上iPhone,重新選擇生成目標來測試一下在線調試了!如果是第一次使用該設備調試,請先在Organizer中將設備切換為開發模式(iPhone右部的小綠點亮)。

四、生成IPA文件

如果我的程序調試好了,怎么才能發給別人用呢?正常情況下ipa文件是從Xcode的Organizer中輸出的,但是我們沒有證書,這樣輸出會產生錯誤。我們只能用個小技巧來完成這個操作了。

先將代碼生成為Release目標,然后打開工程的輸出文件夾,通常情況下這個目錄是/Users/用戶名/Library/Developer /Xcode/DerivedData/以工程名打頭的文件夾/Build/Products/Release-iphoneos這個目錄下有個 xxx.app的文件,就是生成的程序了。把這個xxx.app拖到iTunes中,它會出現在應用程序那個列表中,然后再把它從iTunes的那個列表 中拖出來(比如拖到桌面),它就這樣變成xxx.ipa了!把這個.ipa發給別人,大家就可以跟您一起分享這個程序了

頂一下
(0)
0%
踩一下
(0)
0%
最新圖文
主站蜘蛛池模板: 亚洲国产成人片在线观看| 日本aⅴ大伊香蕉精品视频| 无码中文字幕日韩专区| 激情 小说 亚洲 图片 伦| 日本乱偷人妻中文字幕| 欧美与黑人午夜性猛交久久久 | 亚洲精品无码午夜福利中文字幕 | 欧美人善交videosg| 亚洲爱婷婷色婷婷五月| 97av麻豆蜜桃一区二区| 日产精品久久久一区二区| 亚洲中文字幕无码爆乳av| 国产v亚洲v欧美v专区| 日本护士吞精囗交gif| 韩国午夜理论在线观看| 草的我好爽视频| 少妇极品熟妇人妻| 两个人看的www免费视频中文| 67194熟妇人妻欧美日韩| 99ee6这里只有精品热| 蜜桃视频无码区在线观看| 亚洲综合一区二区三区无码| 国产八十老太另类| 最近的中文字幕在线看视频| k频道国产在线观看| 狠狠人妻久久久久久综合| awww在线天堂bd资源在线| 中文字幕无码免费久久| 激情爆乳一区二区三区| 久久亚洲色www成人欧美| 国产日产欧产精品精品软件| 亚洲熟妇av一区二区三区漫画| 中文 在线 日韩 亚洲 欧美| 护士人妻hd中文字幕| 国产精欧美一区二区三区| 吃奶呻吟张开双腿做受在线播放| 国产精品久久毛片| 亚洲高清偷拍一区二区三区| 中文字幕日韩三级片| 亚洲国产成人精品无码一区二区| 男女性高爱潮免费网站|