在macOS上搭建Flutter开发环境
准备工作:苹果开发者账号、iPone手机、Mac(或者Mac虚拟机)
• 去Flutter官网下载最新可用的安装包,转到下载页。
• 下载完成后,解压安装包到你想安装的目录,笔者安装到应用程序目录。
• 配置环境变量:
- 打开(或创建)文件。
vim ~/.bash_profile
- 由于国内用户受限,flutter官方提供镜像,将如下环境变量加入到用户环境变量中,输入i开始编辑:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
- 添加flutter路径到path中:
export PATH=`pwd`/flutter/bin:$PATH
4. 输入:wq保存,esc键退出。运行以下命令来刷新当前终端窗口:
source ~/.bash_profile
• 安装Xcode,通过Xcode下载链接及应用商店即可下载。笔者下载的是Xcode13.2.1(一开始安装的是13.3版本,在模拟器运行时正常,但是归档时报错,后来又重新安装的13.2.1版本,结果归档成功了)。 由于macOS系统与Xcode的版本存在兼容性问题,所以可根据提示安装对应的Xcode版本。
• 运行命令检查依赖:
flutter doctor
• 安装ios模拟器,使用以下命令找到模拟器:
open -a Simulator
• 运行命令来启动您的应用:
flutter run
如果运行失败并出现错误,请按照提示来解决问题。
打包ios 安装到真机测试
由于笔者用的是虚拟mac,无法使手机与Xcode连接,所以无法安装开发版本进行真机调试,只能打包发布版本上传至分发平台(笔者使用的是蒲公英,大家可以自行选择),安装到手机上测试。
• 注册一个Bundle ID
- 打开开发者帐户的App IDs,点击 Identifiers + 创建一个Bundle ID。
- 选择App IDs,点击Continue进入下一步。
- 输入应用程序名称; 选择Explicit Bundle ID,然后输入一个ID,这个需要仔细命名,因为这个内容和您的程序直接相关,很多地方都需要用到,最好是com.yourcompany.yourappname的格式,如com.ydisk.ios;选择您的应用将使用的服务;点击Continue进入下一步。
- 在下一页中,确认详细信息,然后点击 Register 注册你的Bundle ID。
• 在App Store Connect上注册应用 - 在浏览器中打开App Store Connect。
- 在iTunes Connect登陆页上, 点击My Apps**。
- 点击My App页面左上角的 + ,然后选择New App。
- 填写您的应用详细信息。在Platforms部分中,确保已选中iOS。由于Flutter目前不支持tvOS,请不要选中该复选框。点击Create。
- 导航到您app的应用程序详细信息,App Information 。
- 在General Information部分, 选择您在上一步中注册的软件包ID。
• 申请证书 - 打开钥匙串访问,点击证书助理,选择从证书颁发机构请求证书。
- 输入相应信息,点击继续。
- 点击Certificates +,选择iOS Distribution,点击Continue 进入下一步。
- 选择刚刚创建的CSR文件,也就是证书签名请求文件,进行上传,点击continue,生成证书。
- 点击下载,双击安装,此时在钥匙串的证书中可以看到安装的证书。
• 申请证书对应的Provisioning Profile - 选择Ad Hoc,点击Continue,进入下一步。
- 选择对应的App ID,点击Continue 进入下一步。
- 选择对应的证书,选择之前创建的发布证书,点击Continue 进入下一步。
- 选择要安装的设备。因为笔者之前添加过设备,所以这里就可以直接全选添加,如果没有的话,需要将真机的udid复制出来添加到Devices中,在发布Provisioning Profile文件中,是没有这一步的。
- 输入Provisioning Profile Name,点击Generdate 生成文件。
• Xcode项目设置
- 在Xcode中, 在你的工程目录中的ios文件夹下打开Runner.xcworkspace。
- 要查看您的应用程序的设置,请在Xcode项目导航器中选择Runner项目。然后,在主视图边栏中,选择TARGETS Runner。
- 选择 General 选项卡,接下来,您将验证最重要的设置:
Identity 部分:
• Display Name: 要在主屏幕和其他地方显示的应用程序的名称。
• Bundle Identifier: 您在App Store Connect上注册的App ID。
• Version: 您希望发布的面向用户的版本号。
• Build: 为用于跟踪iTunes Connect上的此版本的唯一版本号,每次上传都需要一个唯一的build号。
Build Settings 部分:
• Code Signing Identity: 选择相应的证书。
Signing & Capabilities 部分:
• Automatically manage signing: Xcode是否应该自动管理应用,默认设置为true。
• Team: 选择与您注册的Apple Developer帐户关联的团队。
• Provisioning Profile: 点击下拉列表,点击Download Profile,选择之前创建的Provisioning Profile文件。
• Signing Certificate: 选择Provisioning Profile文件时,自动填入。
• Xcode归档
- 运行flutter打包命令创建release版本。
flutter build ios --release
- 选择Product > Archive以生成构建档案。如果Archive为禁用状态,可选择Any iOS Device(注意:进行该步骤时,必须执行第一步的flutter命令打包,否则会报错),构建成功后,会弹出如下界面,点击右侧Distribute App按钮,进行下一步。
- 选择Ad Hoc,点击Next进行下一步。
- 点击Export,选择保存位置,导出文件夹。
- 将导出的ipa包上传至蒲公英分发平台,上传完成后,会出现一个带有二维码的页面,用添加至苹果开发帐号中的UDID设备扫描二维码,安装至设备进行测试。
将应用提交给App Store进行审查和发布
• 申请Provisioning Profile的App Store文件同Ad Hoc证书的制作,这里不再详细赘述。
• 在Xcode上选择刚刚申请的申请Provisioning Profile的App Store文件,进行打包归档。
• 构建成功后,选择提交到App Store Connect。
• 在浏览器中打开App Store Connect,可以看到所有构建版本,选择要上传的应用,填写应用相关信息,最后就可以提交审核了。
说明:笔者是个人开发者账号,以上截图可能与企业开发者账号有差异。
本篇原创:私有部署的悦库企业网盘技术-耿晓婷