雁过留声,人过留名,做过留博。这是一篇关于如何用fastlane进行ios打包等操作的流程小记。
1.fastlane 安装,自行移步百度,无非就是ruby环境问题,还有翻墙的问题,这里不再赘述。
2.fastlane 如何加入工程。
2.1 从设计角度上来讲,配置和工具不应当影响当前工程,所以,配置文件要相对独立。fastlane通过在工程下创建一个fastlane文件夹的方式,将配置和工程文件分离。
2.2 还是从设计上讲,配置应当提供一些说明或者是事例,报错信息一定要明确,且应当以明确的方式来指明工程文件。fastlane采用在工程文件夹内执行 fastlane init 命令的方式,指明了工程文件,生成的文件中包含了默认事例,在命令行中输出了文档网址。
2.3 打包测试版,按照给定的网址参考 testing service。照猫画虎的在 ./fastlane/Fastfile 中写一个 beta 阶段(选中部分)。
使用 workspace 参数,会报错,
工程是使用xcodeproj 的方式,所以,cworkspace 的方式不适合。参看提示,发现一个project参数,猜测应当是这个。改一下,执行正常通过。
2.4 关于签名,执行过程会因为本地的 provisioning profiles 不匹配,报以下错误:
NSLocalizedRecoverySuggestion=Xcode couldn't find any iOS App Store provisioning profiles matching
证书错误,关闭了xcode的自动管理,下载并手动配置了之后,依然没有解决,直接看它给的文档
他的意思是通过build_app方法中可识别的参数来手动配置证书,或者开启自动配置。
我采用的第一种,=> 后面填写的名称是Xcode中手动指定 provisioning profile 时显示的那个名称。
这里在指定证书的时候,需要指定导出方式,来决定使用 Debug 还是 Release。
在BuildSettings -> Signing -> Code Singing Identity 中指定,IOS 发布版本要指定成 IOS Distribution 证书。
如果有推送,注意推送的证书和App的Target使用同一个证书,BundleID和App的Target的ID保持一致。
fastlane 采用的使用gym构建工程,查阅其参数(刚才遇到的project也在其中,看来还是先查查文档的好)。确定怎样打development的包。这里的参数和开发者配置(Certificates, Identifiers & Profiles)相同:
我的是个人账户,所以有些选项对不上。比如,enterprise 是企业包用的。
在 export_method 指定成 development 后,构建成功了
-----------------------------------------------------------------------------------------------------------------------------------------------------
使用自增版本的时候,先要修改工程内的配置,将Versionning System 改成 Apple Generic。
-----------------------------------------------------------------------------------------------------------------------------------------------------
使用 fastlane init swift 可以用swift工程来驱动ruby脚本。actions都是一致的,Api变化成没有下钢线的驼峰规则。
本质上没有变化,就是套一层swift的壳,目前是beta版,不能使用插件。日常操作是够用了。
-----------------------------------------------------------------------------------------------------------------------------------------------------
保存在本地的cookie文件,执行命令行时没有足够的权限。直接chmod -R 777 就可以了。
-----------------------------------------------------------------------------------------------------------------------------------------------------
上传的时候,需要app-specific password (专用密码)。去申请一下就好了。
'
在账户页面,安全选项中,生成这个密码。再按照提示,将密码写入环境变量 FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD 中即可。
注意,这里的环境变量设置到 ~/.zshrc 中,不要设置到 ~/.bash_profile 中。
-----------------------------------------------------------------------------------------------------------------------------------------------------
fastlane deliver init,发版工具初始化,之后会生成一些文件,如下图,均是商店需要填写的信息。
-----------------------------------------------------------------------------------------------------------------------------------------------------