ITMS-90338: Non-public API usage - The app references non-public symbols in Frameworks/Flutter.framework/Flutter: _ptrace.?
在河西等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,外貿(mào)網(wǎng)站制作,河西網(wǎng)站建設(shè)費(fèi)用合理。
原因: 使用了 Flutter 的debug 版產(chǎn)物?打成 iPa 包?
就是Frameworks/Flutter.framework 是debug 版的產(chǎn)物
Debug 版的 Flutter 產(chǎn)物 ,SDK 內(nèi)部使用了 蘋果內(nèi)部私有的API , 會(huì)被蘋果審核監(jiān)測到,存在安全性隱患. 導(dǎo)致拒絕上傳到蘋果后臺(tái).
產(chǎn)生的原因: 因?yàn)殚_發(fā)過程中,直接使用了debug 模式進(jìn)行開發(fā), 在打包的時(shí)候,直接打開 iOS 文件夾下面的工程,在Xcode 里設(shè)置 release 模式時(shí),此時(shí),Flutter 的產(chǎn)物還是 debug 模式下的產(chǎn)物. 沒有刪除替換成 release 產(chǎn)物
1.先 將工程 清理一遍,清理之前debug模式下 的Flutter 產(chǎn)物
2.然后 打開Xcode 工程,配置好相關(guān) 版本號(hào),證書,release 模式
3. 使用命令行 打包 release ,這樣Flutter.framework就會(huì)生成 release? 產(chǎn)物
4.最后 在Xcode 工程內(nèi),按照正常 打包上傳 包過程就可以了
1.進(jìn)入 Flutter 工程 命令行操作
flutter clean
2 .清理之前debug 模式下的 殘留產(chǎn)物 (或者手動(dòng)進(jìn)入文件夾刪除)
rm -rf ios/Flutter/Flutter.framework
3.?獲取 Flutter 的第三方依賴庫
flutter pub get
4.編譯 release 打包 產(chǎn)物?
flutter build ios --release?
(此時(shí)這里可以打包出 app 了, 為了安全起見,最好再次進(jìn)入Xcode 清理一遍,直接打包上傳,)
上面這一步,主要目的是生成 Flutter.framework? 的release 版本產(chǎn)物
5.進(jìn)入Xcode 工程,clean 一遍,檢查相關(guān)證書配置,版本號(hào)等
6.直接 Xcode? Archive 打包IPA 上傳 蘋果后臺(tái)
最后上傳成功:
思路: 通過檢查Flutter.framework 它的CPU 架構(gòu)支持
如果: 該產(chǎn)物 支持模擬器 x86_arm64 這樣的架構(gòu)的話,說明該產(chǎn)物就是 Debug 版的 產(chǎn)物
因?yàn)閞elease 版的 產(chǎn)物是 不支持 模擬器CPU架構(gòu)的.? ?
輸入終端命令:? lipo -info? 產(chǎn)物的物理路徑
比如:? lipo -info /Users/zzc/Documents/rce_flutter/ios/Flutter/Flutter.framework/Flutter
需要使用universal_html插件
universal_html是用來替代dart:html的,使用dart:html會(huì)有如下警告:
這是為了避免在Flutter Web插件包之外使用純web庫
導(dǎo)入:
選擇文件并上傳:
用到了一個(gè)插件: image_picker ,但是在使用這個(gè)插件過程中發(fā)現(xiàn)部分安卓手機(jī)拍照會(huì)奔潰(PlatformException (PlatformException(already_active, Image picker is already active, null, null))),就是運(yùn)行官方的demo也是一樣會(huì)報(bào)錯(cuò),版本: 0.8.4+3 ,查了很多資料也沒解決,也都嘗試了。我們的需求只是拍照上傳圖片,你可以根據(jù)你的需求使用image_picker,他可以選擇視頻,照片等
原以為很難的東西,東找找西找找,只有一個(gè)魯班壓縮,但都不怎么維護(hù)狀態(tài)最終找到好的辦法,可以通過multi_image_picker庫的二進(jìn)制壓縮
80就是壓縮比例,默認(rèn)為100
Assets為獲取到的圖片類型
上傳的時(shí)候可以通過
multiImages就是存放Assets類型的圖片數(shù)組,然后通過for循環(huán)遍歷來批量添加圖片
用dio批量上傳
??因?yàn)槲覀兪褂肍lutter跨平臺(tái)技術(shù)開發(fā)App時(shí),會(huì)有很多公用組件,因?yàn)镕lutter中一切皆為Widget,widget也比較細(xì)粒度,所以我們需要進(jìn)行封裝,用于一個(gè)項(xiàng)目或者公司不同項(xiàng)目中去~
??那么今天寫寫如何發(fā)布package或者插件到Pub.dev上,扯扯談O(∩_∩)O哈哈~
《Flutter的撥云見日》系列文章如下:
1、Flutter中指定字體(全局或者局部,自有字庫或第三方)
2、Flutter發(fā)布Package(Pub.dev或私有Pub倉庫)
首先,我們知道flutter有四種工程模式:Flutter Application、Flutter Module、Flutter Plugin和Flutter Package。
我們這里就主要講Package 純Dart插件的發(fā)布吧,都差不多。
創(chuàng)建工程后,就可以編寫你的公共組件,或者公用字體庫呀啥的, 都行。
在更改下你的pubspec.yaml文件,修改下你的versionCode,項(xiàng)目名稱,項(xiàng)目描述,作者等
如果上傳失敗試試????的命令:
在執(zhí)行該命令時(shí),可能會(huì)中途調(diào)到網(wǎng)頁,要求你登錄google賬號(hào),登錄授權(quán),到時(shí)候登錄賬號(hào)并授權(quán)就可以了。
因?yàn)槲覀冎苯邮褂胒lutter packages pub publish是發(fā)布到Pub.dev上,并不是發(fā)布到私有倉庫,該怎么辦呢?
其實(shí)呢,也很簡單!像versionCode,項(xiàng)目名,等都和發(fā)布Pub.dev是一樣的。沒啥區(qū)別。
有兩種方式:
就是這么簡單o( @ )o
相信大家引用Pub.dev上的第三方庫都會(huì)了哈,到處都是這里不講了
在使用flutter pub get就可以拉到私有倉庫項(xiàng)目了
以上就差不多聊了聊package發(fā)布和獲取的事兒了,都很明了,大家可以試試,挺簡單的。
PS: 寫文不易,覺得沒有浪費(fèi)你時(shí)間,請(qǐng)給個(gè)點(diǎn)贊~ ????
分享標(biāo)題:flutter上傳,flutter上傳頭像控件
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article26/dssegjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、企業(yè)網(wǎng)站制作、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)公司、營銷型網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)