uniapp 離線打包app


離線打包app步驟

其中有一些坑要注意,以及對於不熟原生工程的人可以看看。

 

幾個特點:

1、相比雲打包,不需要在蘋果開發者后台手動生成描述文件。

2、也不需要下載證書到本地安裝,再導出p12文件。但是生成的證書開發者平台里不能刪除。

 

准備工作:

蘋果開發者后台:

1、手動生成certificate。在Software里選擇“iOS Distribution (App Store and Ad Hoc)”或“iOS App Development”。實際操作中,另外幾個我也點擊了生成,怕出錯就沒有刪除。

 

2、手動生成identifier。每一個app都需要生成一個,選擇“App IDs”。bundle Id填寫app的唯一id。命名規則可以按反向域名,例如 自己的域名是 meta.com,那么就可以寫com.meta.應用的名稱。

這個一般情況下勾選,其他的看需求。

 

 

uniapp准備工作:

1、申請需要打包的app的appkey,官方有文檔就不再說明(https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey)。

2、下載最新的ios離線打包sdk,其實就是一個hbuilder hello的工程項目。注意的是按照官方說法,sdk的版本號必須和hbuilder的版本號一致。比如hbuilder用正式版,sdk用預覽版就不行。

3、hbuilder中選擇“原生app本地打包”-》“生成本地app打包資源”。生成一個以“uni-app應用標識”的文件夾,例如__UNI__E27A345。

 

打包方法:

官方文檔:https://nativesupport.dcloud.net.cn/AppDocs/usesdk/ios

1、用xcode打開“iOSSDK@3.2.16.80725_20211122/HBuilder-Hello/HBuilder-Hello.xcodeproj”。

2、把hbuilder打包的離線app打包資源文件夾拷貝到“iOSSDK@3.2.16.80725_20211122/HBuilder-Hello/HBuilder-Hello/Pandora/apps”。

3、修改info.plist里的dcloud_appkey為之前申請的appkey。

 

 4、修改control.xml。注意每次都要檢查該文件,因為如果換app打包的時候就需要修改為需要打包的appid和版本號。具體看https://nativesupport.dcloud.net.cn/AppDocs/importfeproject/ios。

 

 

5、配置要打包的app的基本資料。

注意:如果bundle identifier不可改,則參考第11步

display name=name manifest.json里的應用名稱

bundle identifier=之前蘋果開發者后台申請的 “bundle Id”。

version=versionName  manifest.json里的應用版本名稱

build=code manifest.json里的應用版本號

 

 

 

 

 

6、配置app的圖標。可以先在hbuilder里更換app圖標(上傳一張1024*1024的圖片,其他尺寸會自動生成,然后此處直接選取之前生成好的圖片。

 

 

7、配置app啟動界面。此處直接使用了uniapp官方提供的方案,但是需要修改啟動界面顯示的圖標。

注意:由於不熟悉文件修改方式,我直接替換了項目里的 dclogo@2x.png和dclogo@3x.png。此時本地測試時,啟動界面會先顯示下官方的h圖標,然后迅速切換到我們換的圖標,不過安裝到手機后沒有這個問題。

 

 

 

 

8、模塊配置部分見官方文檔。

9、(可選)如果后續打包時報錯,則需要把這里全部改成 apple development。可查看https://www.cnblogs.com/waitingbar/p/13902627.html

 

 

 10、配置sign(release),由於我打包時跳過了debug所以,debug的配置就不介紹了,其實是一樣的。

勾選 automatically manage signing。首次選擇時會讓登錄apple id。這也就是離線打包時不需要下載證書的原因。

勾選后,team里可以直接選蘋果開發者后台里的組織,我感覺此時也會自動匹配certificate。

bundle identifier=bundle id,別填寫錯了類似這個 com.meta.facebook。

注意:此時如果出現如下的報錯信息,則需要執行第九步。

 

 

 

 

 

11、(可選)打包時如果報錯可以執行。錯誤信息類似:The provisioning profile specified in your build settings ("test") has an AppID of "com.meta.facebook" which does not match your bundle identifier "com.meta.facebook"。

參考:https://blog.csdn.net/l2i2j2/article/details/51661443

修改bundle identifier 只在info.plist中修改並沒有完,還需要把Build Settings中Package分欄下的Product Bundle Identifier改成新的“com.meta.facebook”

 

12、(可選)如果打包時報錯可以執行。錯誤信息類似如下:

可參考:https://www.jianshu.com/p/36a5ba85c1e5

意思就是app沒有使用后台任務,但是勾選了如下服務。

 

解決方式如下:

 

 

13、(可選)如果Archive按鈕一直為灰色不可點擊可執行。

可參考:https://blog.csdn.net/weixin_34309435/article/details/85757979

解決辦法:目前的運行配置是使用模擬器,改成“iOS Device”即可。

14、點擊product/archive。然后等待執行,后續可以一直默認下一步。此時不要預先到蘋果開發者后台創建app基本信息,當前操作會自動創建,然后可以等上傳成功后再去調整。

15、發布到testflight內部測試時,不需要提交審核,上傳成功后5分鍾后即可直接在內側組用戶里下載測試。

 


免責聲明!

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



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