導(dǎo)語:ionic打包ios需要用到xcode、開發(fā)者賬號、開發(fā)證書、發(fā)布證書、證書描述文件。如果沒有開發(fā)者賬號,請先去注冊開發(fā)者賬號,本文從創(chuàng)建證書開始講起。
一、創(chuàng)建證書前的準備
1)、使用蘋果電腦打開鑰匙串訪問。
2)、點擊鑰匙串訪問 >>證書助理>>從證書頒發(fā)機構(gòu)請求證書
3)、填寫信息,并把生成的.certSigningReuqest文件保存到桌面。
二、創(chuàng)建證書
1)、打開https://developer.apple.com網(wǎng)址創(chuàng)建我們需要的證書
2)、使用開發(fā)者賬號登錄
3)、打開創(chuàng)建證書頁面
4)、成功打開之后可以看到如下頁面
5)選擇Certificates新建證書,點擊‘+’號按鈕
6)、選擇創(chuàng)建證書的類型
7)、選擇鑰匙串訪問生成的文件
8)、證書創(chuàng)建完成
三、創(chuàng)建項目ID
1)、選擇App IDs新建項目id
2)、填寫項目唯一標識符(包名)
四、添加真機調(diào)試設(shè)備
1)、選擇Devices 點擊+號新建
2)、填寫設(shè)備的UUID
3)、獲取設(shè)備的UUID,使用USB連接你的設(shè)備到電腦,并打開iTunes
五、創(chuàng)建證書描述文件
1)、選擇Provisioning Profiles
2)、選擇描述文件的類型
3)、選擇項目ID
4)、選擇證書
5)、選擇調(diào)試設(shè)備
6)、填寫描述文件名稱
7)、下載描述文件,雙擊運行。
六、在xcode中打開ionic項目
1)、雙擊運行項目下的/platforms/ios/xxx.xcodeproj文件.
如果沒有,記得先ionic platform add ios添加ios項目
2)、打開后我們單擊項目名
3)、單擊TARGETS下的項目,就可以看到打包的設(shè)置面板
七、設(shè)置自動簽名
1)、點擊Build Settings,往下拉,找到Signing
2)、點擊啟用。
3)、選擇自動簽名的證書(如果之前成功下載證書并且已經(jīng)添加到鑰匙串訪問)
八、設(shè)置手動簽名
1)、點擊Build Settings,往下拉,找到Signing
2)、選擇證書
九、打包
1)、選擇Generic iOS Device
2)、在Product下選擇Archive
3)、打包成功
4)、導(dǎo)出企業(yè)版
5)、選擇發(fā)布證書
6)、導(dǎo)出兼容所有設(shè)備
7)、導(dǎo)出到本地磁盤
8)、在本地磁盤查看ipa
十、添加微信白名單
1)、打包成功后發(fā)現(xiàn)微信支付不可用,真機調(diào)試打印錯誤--‘微信未安裝’
error:"This app is not allowed to query for scheme weixin"
2)、在info.plist中的?LSApplicationQueriesSchemes?把微信加入白名單
注意?LSApplicationQueriesSchemes?的類型是Array。
3)、如果需要把別的應(yīng)用加入白名單,就繼續(xù)在LSApplicationQueriesSchemes下面添加item,添加的名稱根據(jù)報錯的信息來填
如果提示你‘吃不飽’未安裝,你就在info.plist中添加‘吃不飽’!
結(jié)語:到這里ionic打包iOS就已經(jīng)完成了。下面總結(jié)一下幾點需要注意的地方
1、我們用鑰匙串生成的.certSigningReuqest文件,只有在當前電腦本地生成的,然后上傳到開發(fā)者賬號創(chuàng)建證書,這樣下載下來的.cer文件運行后,鑰匙串才有證書及對應(yīng)的秘鑰,這樣才能正常使用。
2、證書分為開發(fā)和發(fā)布兩種,不管是真機調(diào)試還是上傳到AppStore都是需要的,用來證明自己開發(fā)者的身份。
3、Provisioning Profiles證書描述文件,它把我們的項目ID,開發(fā)證書、硬件調(diào)試設(shè)備Device綁定到一塊。不管是真機調(diào)試,還是發(fā)布,都離不開它。
4、用xcode打開iOS項目是雙擊運行platform/ios/xxx.xcodeproj文件。
5、info.plist中的?LSApplicationQueriesSchemes?可能是沒有的,需要我們手動添加
6、使用微信支付的插件,如果沒有描述文件package.json,在cordova7.0是裝不上的,降低到cordova6.5就可以了
卸載cordova: ? ? ? ? ?npm uninstall -g cordova
安裝指定版本cordova: ? ? ? ? npm install -g cordova@6.5.0