齊桓公(小白)首次盲接iosapp及微信sdk及發包
1、首先需要申請apple的appid
- 註冊蘋果開發者賬號
- 登入蘋果開發者賬號
- 點選左側的identifier,由於公司提供的開發者賬號所以id比較多,故而抹掉,後面的截圖也基本都塗抹了,一則他人都塗抹了,二則有洩露隱私之嫌疑,手工不好,莫怪!
continue繼續,按照要求一步步走,最終完成的頁面應該是,其中比較重要的就是bundleId 也就是我們的appid,appid prefix後面會在微信的跳轉應用用到。由於要對接微信請提前先把
Associated Domains開啟,如下圖
至此,appId申請已經完成,這個階段如同申請QQ一樣,並不複雜
2、建立金鑰及釋出者證書
目的:xcode可以打包、釋出、編譯除錯等,當然最新xcode13,貌似選擇自動配置是可以開發的,但是吾一路走來據說對接微信sdk必須選擇手動,不能選擇自動,後面會詳細講述
- 首先建立鑰匙串,開啟鑰匙串 ---鑰匙串訪問 ---- 證書助理 ---- 從證書頒發機構請求證書---填寫開發者的郵箱(注意一定要是蘋果開發者的郵箱)----選擇儲存到磁碟---點選繼續---選擇儲存位置儲存
最終得到了這個玩意
這個東西是一個標識,接下來建立的釋出證書及provision key都是直接或間接依賴於它
2.進入開發者後臺,就是剛才建立appId的那個網站,選擇certificates,點選旁邊的+號,進入下面介面
我的理解: 這裡的apple代表蘋果mac,ios代表的是手機app,development是開發者證書,distribution是釋出者證書
這裡我們會先建立一個ios app development,然後再建立一個ios distribution(App store and Ad Hoc)
選中後點擊continue,進入如下介面,choose file 選擇剛剛鑰匙串建立的那個檔案 --- 點選繼續---下載儲存到便於尋找的路徑
3.建立profiles檔案,開發之時配置是需要這個檔案
點選Profiles --- 點選+號----進入如下介面
這裡Development 是開發環境使用,一版選擇ios App Distribution是釋出環境,Ad Hoc 是測試包,App Store 則正式上應用商店的,點選繼續
這裡的select appid 就是我們一開始建立的那個AppId,繼續則進入下面,這裡有幾個選項就是我們剛剛上一步建立證書certificate的時候建立的證書,開發者選擇開發者,釋出則選擇釋出,不可混淆,否則事情相當麻煩,你必須刪掉所有的證書重新開始一步步走
好,點選繼續,下載到一個容易找到的位置,這裡基本算是完成了appid 及 xcode配置所需的相關東西
3.點選右上角我的account,選擇App Store Connect 去建立自己的app
這裡建立app基本資訊均是簡單的填寫,唯有幾個需要注意的地方
- 如果是付費app一定要在協議裡新增自己的銀行、稅務相關資訊,其次要在使用者和訪問裡新增沙盒測試員,最後就是在app內購買專案裡必須要新增內購商品
- 其他一些資訊基本都是即時填寫即時響應錯誤與否
建立app僅此需要提醒,有問題皆可百度或必應google
4、拿到程式碼開始碼程式碼,這裡用的是layabox的native生成的ios專案,故以laya為例
前提條件:你必須有一臺mac電腦,而且安裝了xcode,最好是最新版的,雙擊專案裡的xxx.xcodeproj檔案即可開啟專案,接下來點選專案名稱進入專案配置,這裡的bundle identifier就是我們一開始生成的appid,接下來只需看圖,稍作解析
next
next
注意:這裡新增arm64 是為了真機除錯,x86_64是模擬器除錯,小白剛開始編譯除錯會遇到一些報錯,基本就是這個錯誤
next 新增微信sdk,微信sdk對接官方文件很詳細,但是有幾個容易忽略的點,一定要注意,這裡是手動整合
先new 一個資料夾wxapi
然後右鍵wxapi資料夾 --- add files to ---- 選擇微信sdk的那幾個檔案新增進去---然後進行一些配置
說明下:這裡花費了幾個小時,因為xcode新增程式碼檔案與js或其他的不一樣,你直接複製進來是無用的,xcode不認
你必須通過add Files to... 同時你還要在設定裡link flag 及 search path配置其相關路徑將其包含進去,下面有截圖
注意:這裡的LSApplicationQueriesSchemes這個選項新版xcode是沒有的,info.plist裡每一列滑鼠移上去都會有一個 + 號 - 號,點選 + 號新增一條輸入名稱LSApplicationQueriesSchemes
然後就可以新增微信引數了,當然你也可以在info.plist的原始檔裡新增,不建議齊桓公這麼做。
這裡巨坑,百度、必應都搜了好長時間,最後發現如此操作,謹慎謹慎!
至此微信sdk算是匯入進來了,接下來要配製universal link,
universal link是幹啥的,就是一個定位路徑,這個是app跳轉用的,比如你的app要微信授權登入,那麼就要先跳轉到微信授權。
需要先配置一個json檔案 名稱apple-app-site-association注意沒有.json字尾格式,放到universal link 域名根目錄下
注意域名一定要支援https而且必須支援https,這個域名會在後面配置、開發時用到
其內容如下圖,其中的appid 就是第一步的appid prefix + . + appid 這個是ios的,paths是路徑,可以加子路徑,但路徑最後必須是/xxxx/*號,這裡如果添加了子路徑
那麼程式碼裡註冊時也必須帶上子路徑,暫且命名為 registerUniversalUrl
接下來配置applink,下圖有詳解,Domain裡新增applinks:yuming.com,這裡一定是你自己剛剛上傳apple-app-site-association的域名,不能有https,不能有路徑
接下來程式碼裡註冊微信universal link,這裡的url即是registerUniversalUrl
注意微信appid 與 apple appid 不要混淆了
至此 微信sdk接入完成,接下來就是登入及分享相關對接,請參考
5、接下來便是打包上傳等
首先保證功能完整之後,可選擇xcode中心上方的裝置 ---- 選擇 Any ios Device --- 接著點選選單Product --- Archive 即可打包
打包完成之後彈出如下彈窗
點選distribute App 如下圖,這裡要注意
選擇app store connect 後面的證書profile也要選擇釋出app store的證書
選擇ad Hoc 則是匯出ipa包,ipa包可以連線手機安裝,只能用於測試,不可用於釋出
接下來一步一步走下去,注意選擇正確profile檔案,最後upload
upload期間會報錯,就是說ios版本必須釋出13.0或者其他的版本以上的版本,這種情況,吾屢試不成,奈吾天賦不足,無法解決,唯有升級xcode重新來,最終升級完成之後成功。
最後到apple store connect裡選擇構建版本,點選新增以供稽核,提審完成
本人雖說戰國七雄之一齊桓公,然連最基本的oc語法都看不懂,還得百度,如此前後花費將近一個月完成了ios版本的開發與釋出,雖說app程式碼僅僅是個殼,可誰又能在沒有任何基礎的情況下創造一張人皮呢?
此次iosapp的經歷給了我一個十足的人生哲理,那就是:只要你有心,整個宇宙都是你的。金剛經:一切有為法,如夢幻泡影,如露亦如電,應作如是觀!