Flutter 2.10.1/Xcode 13.2.1/macOS Big Sur 11.6.4在iPad Pro iOS 15.3.1真机免费调试

系统与开发环境 Flutter 2.10.1/Xcode 13.2.1(13C100)/macOS Big Sur 11.6.4/iPad Pro(Model A1673) iOS 15.3.1

操作步骤

1. 苹果开发网站注册或关联开发者账号,如果暂时不需要发布应用到 Mac App Store,只是在设备上调试应用,则不需要注册收费用户,只需要注册或者关联账号即可。具体可以查看官方介绍 选择会员资格

2. 在 iPad Promacbook Pro 登陆同一个注册的开发者的账号。

3. 通过 USB 数据线把 iPad Promacbook Pro 设备连接起来,如下图:

4. 在IOS目录下打开项目文件:

5. 打开项目,在 Xcode 登陆开发者的账号

6. 在项目中选择调试设备,如下:

7. 在项目中配置签名账号,如下:

常见问题

1. 如果在选择后构建的时候报错

如下图:

则修改一个有效的新的 Bundle identifier 即可,目前测试发现,一般 com.example 开头的 Bundle identifier 一定会失败。

比如修改为 “com.mobibrw.untitled” , 如下图:

如果想查看签名的详情,可以点击箭头处查看,证书默认只有6天的有效期,如下图:

2. 如果在调试的时候报错:

并且设备上弹出提示对话框,显示“不受信任的开发者”,如下图:

参考下图进行设置,如下:

3. 代码混淆

对于 iOS 来说,可以通过在 iOSRelease.xcconfig 里增加

来实现代码混淆,如下图:

上面的配置对于通过 Add Flutter to existing app 实现集成的项目意义较大,可以在原项目的构建流程中自动集成混淆功能。

也可以通过命令行实现代码混淆功能,如下:

更详细的参考 Obfuscating Dart Code

注意,官方版本的引擎已经实现符号分离,因此再次被压缩的空间已经不大。

一般情况下我们使用的是官方版本的引擎,如果需要调试 libflutter.so里面的符号,可以在flutter_infra页面直接下载带有符号表的SO文件,根据打包时使用的Flutter工具版本下载对应的文件即可。

比如2.8.1版本:

拿到引擎版本号后在https://console.cloud.google.com/storage/browser/flutter_infra_release/flutter/890a5fca2e34db413be624fc83aeea8e61d42ce6/ 看到该版本对应的所有构建产物,下载android-arm-release、android-arm64-release和android-x86目录下的symbols.zip。

4. 如果连接设备时候报错

对于 iOS 15.4 系统的手机,需要 Xcode 13.3 以及以上的版本才能解决此问题。但是比较遗憾的是,Xcode 13.3 需要macOS Monterey 12系统。

然而 macOS Big Sur 11.6.5 只能安装 Xcode 13.2.1 。这种配置的情况下,可以从 iPhoneOSDeviceSupport 下载对应版本的 iPhoneOS DeviceSupport镜像,然后手工解压缩到

完成之后,需要重启 Xcode 13.2 才能生效。

参考链接


发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注