国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Xcode6免證書真機調試

2019-11-14 18:51:11
字體:
來源:轉載
供稿:網友

前景:在 iOS 開發中,如果想進行真機調試,普遍情況是掏錢,掏錢的情況有兩種:

第一種就是:直接在 Apple 官網注冊為 Developer,每年99美元;當然這種作為個人開發者的話,是很有必要的,不僅可以真機調試,而且可以發布用于測試和正式上架的 App。而且現在最新政策,iOS 和 OS X 開發的繳費也合并為一塊了,還是每年99美元,對于即搞 iOS 又搞 OSX 開發的朋友來說,這是好福利啊。

第二種就是:萬能的淘寶里,買別人針對設備來收費的測試證書,價錢普遍10-15塊左右。資源分享這是好的,對只是測試時真機調試用已經足夠了。

 

不掏錢的情況也有兩種:

第一種就是:最新發布的Xcode 7 beta 版本支持 Apple ID 普通賬號使用免費證書進行真機調試,不像之前版本只是支持 Apple ID 開發者賬號。但個人親測,Xcode 7 beta 版本使用有點問題(純粹個人問題),其實還是挺好用的,所以暫時還是使用穩定版的Xcode 6。

第二種就是:修改Xcode 6 的包內容,避開 Apple 的證書驗證機制,這里就來介紹這種做法吧。

 

準備工作:

(1)一臺越獄的設備,這里我用 iOS 8.1 版本已越獄的 iphone 6 來測試;

(2)設備已安裝支持未認證安裝App的 AppSync 插件;這里可以在已越獄的設備中通過 Cydia 添加威鋒源:http://apt.weiphone.com,下載適合版本的 AppSync 插件。

 

關鍵步驟如下:

(1)創建證書

 

 

然后點「繼續」,全部默認,一直下一步,直到創建完成。

 

(2)修改 Xcode 6 的包內容

 

 

考慮可以先備份 SDKSettings.plist文件,然后拷貝一份到其它目錄下,修改完相關設置了再覆蓋。

SDKSettings.plist 有兩處地方需要修改為 NO,就是「DefaultPRoperties」下的「ENTITLEMENTS_REQUIRED」和「CODE_SIGNING_REQUIRED」項;

同理,返回上一層目錄,Info.plist 有三處地方需要修改為 XCodeSignContext,分別是「DefaultProperties」下的「CODE_SIGN_CONTEXT_CLASS」項、「RuntimeRequirements」下的「Classes」「Item 0」項、「OverriderProperties」下的「CODE_SIGN_CONTEXT_CLASS」項。

 

 

 

(3)需要創建 iphoneentitlements 文件夾,新建 gen_entitlements.py文件,并拷貝 iphoneentitlements 文件夾到 “/applications/Xcode.app/Contents/Developer/” 目錄下

 

PS:可以在終端使用 mkdir 創建文件夾,cd 導航到某目錄下,mv 重命名文件

 

gen_entitlements.py 內容:

 1 #!/usr/bin/env python 2 import sys 3 import struct 4 if len(sys.argv) != 3: 5     print "Usage: %s appname dest_file.xcent" % sys.argv[0] 6     sys.exit(-1) 7 APPNAME = sys.argv[1] 8 DEST = sys.argv[2] 9 if not DEST.endswith('.xml') and not DEST.endswith('.xcent'):10     print "Dest must be .xml (for ldid) or .xcent (for codesign)"11     sys.exit(-1)12 entitlements = """13     <?xml version="1.0" encoding="UTF-8"?>14     <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">15     <plist version="1.0">16     <dict>17     <key>application-identifier</key>18     <string>%s</string>19     <key>get-task-allow</key>20     <true/>21     </dict>22     </plist>23     """ % APPNAME24 f = open(DEST,'w')25 if DEST.endswith('.xcent'):26     f.write("/xfa/xde/x71/x71")27     f.write(struct.pack('>L', len(entitlements) + 8))28 f.write(entitlements)29 f.close()

 

在終端輸入如下命名來給文件設置訪問權限(下一步時會無回顯方式要求輸入密碼):

1 sudo chmod 777 /Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py

 

(4)針對需要進行真機調試的 App 工程,進行如下設置:

Script內容:

export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocateif [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then/Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "my.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

 

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永靖县| 乃东县| 如东县| 延吉市| 安福县| 株洲县| 阿尔山市| 固始县| 甘洛县| 华坪县| 玛多县| 洪江市| 庆云县| 黔西| 华亭县| 綦江县| 河曲县| 确山县| 杂多县| 磐石市| 新竹市| 武川县| 昔阳县| 闸北区| 盱眙县| 张家口市| 和硕县| 个旧市| 新田县| 隆林| 清镇市| 上思县| 阿尔山市| 道孚县| 南康市| 巢湖市| 达州市| 亚东县| 额尔古纳市| 东辽县| 西丰县|