每次将Flutter应用打包iOS上传到App Store Connect之后,都会收到以下电子邮件警告,但不影响正常构建版本。但是烦躁,解决如下:
从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站制作、做网站、外贸营销网站建设、网站策划、网页设计、国际域名空间、虚拟主机、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。
大意就是 缺少推送相关的配置信息,其实在开发者网站配置证书的时候一般都进行 ‘推送功能’ APNs 勾选,但是项目中暂未设置推送配置,所以警告。
思路两个方向:
1.keychain 钥匙串访问
2.申请开发证书
3.注册Bundle ID
4.配置开发证书 (生成.mobileprovision文件)
5.安装证书
6.打包ipa
7.开发团队如何公用证书
进入以下程序
此文件保存到你想保存的地方,后面生成证书有用。
1.打开 苹果开发者中心 ( )
2.按照以下图片步骤走:
上面省略的步骤,按照具体需要选择,基本是“傻瓜式点击
到这bundle id就OK了
.mobileprovision文件格式的配置文件是让开发者的项目(APP)能有真机调试,发布的权限。
配置开发证书,就会需要你设置,在这个项目中添加哪些设备作为真机调试的设备
1.Xcode打开以下文件夹
2.三个必填项
4.选择发布平台:
1.本地安装完.cer证书文件
输入密码之后点击好,即可生成.p12文件
ITMS-90338: Non-public API usage - The app references non-public symbols in Frameworks/Flutter.framework/Flutter: _ptrace.
原因: 使用了 Flutter 的debug 版产物 打成 iPa 包
就是Frameworks/Flutter.framework 是debug 版的产物
Debug 版的 Flutter 产物 ,SDK 内部使用了 苹果内部私有的API , 会被苹果审核监测到,存在安全性隐患. 导致拒绝上传到苹果后台.
产生的原因: 因为开发过程中,直接使用了debug 模式进行开发, 在打包的时候,直接打开 iOS 文件夹下面的工程,在Xcode 里设置 release 模式时,此时,Flutter 的产物还是 debug 模式下的产物. 没有删除替换成 release 产物
1.先 将工程 清理一遍,清理之前debug模式下 的Flutter 产物
2.然后 打开Xcode 工程,配置好相关 版本号,证书,release 模式
3. 使用命令行 打包 release ,这样Flutter.framework就会生成 release 产物
4.最后 在Xcode 工程内,按照正常 打包上传 包过程就可以了
1.进入 Flutter 工程 命令行操作
flutter clean
2 .清理之前debug 模式下的 残留产物 (或者手动进入文件夹删除)
rm -rf ios/Flutter/Flutter.framework
3. 获取 Flutter 的第三方依赖库
flutter pub get
4.编译 release 打包 产物
flutter build ios --release
(此时这里可以打包出 app 了, 为了安全起见,最好再次进入Xcode 清理一遍,直接打包上传,)
上面这一步,主要目的是生成 Flutter.framework 的release 版本产物
5.进入Xcode 工程,clean 一遍,检查相关证书配置,版本号等
6.直接 Xcode Archive 打包IPA 上传 苹果后台
最后上传成功:
思路: 通过检查Flutter.framework 它的CPU 架构支持
如果: 该产物 支持模拟器 x86_arm64 这样的架构的话,说明该产物就是 Debug 版的 产物
因为release 版的 产物是 不支持 模拟器CPU架构的.
输入终端命令: lipo -info 产物的物理路径
比如: lipo -info /Users/zzc/Documents/rce_flutter/ios/Flutter/Flutter.framework/Flutter
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款