iOS使用 fastlane自动打包

如果您是新手,可按详细步骤往下看

一、安装xcode命令行工具
1、xcode-select --install

xcode-select --install,如果没有安装,会弹出对话框,点击安装。如果提示xcode-select: error: command line tools are already installed, use "Software Update" to install updates表示已经安装

二、安装Fastlane
sudo gem install fastlane -NV或是brew cask install fastlane我这里使用gem安装的

注意

sudo gem install fastlane -NV或
sudo gem install fastlane
这两条如果报错
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.

解决方式
brew install python3或
sudo gem install fastlane --verbose

安装完了执行fastlane --version,确认下是否安装完成和当前使用的版本号。
如下表示安装成功

fastlane installation at path:
/Library/Ruby/Gems/2.3.0/gems/fastlane-2.123.0/bin/fastlane
-----------------------------
[✔] 🚀 
fastlane 2.123.0

三、初始化Fastlane
cd到你的项目目录执行
fastlane init

弹出四个选项
[17:17:46]: What would you like to use fastlane for?
1. 📸  Automate screenshots
2. 👩‍✈️  Automate beta distribution to TestFlight
3. 🚀  Automate App Store distribution
4. 🛠  Manual setup - manually setup your project to automate your tasks

不了解可以参考四个链接

 📸  Learn more about how to automatically generate localized App Store screenshots:
[17:46:28]:         https://docs.fastlane.tools/getting-started/ios/screenshots/
[17:46:28]: 👩‍✈️  Learn more about distribution to beta testing services:
[17:46:28]:         https://docs.fastlane.tools/getting-started/ios/beta-deployment/
[17:46:28]: 🚀  Learn more about how to automate the App Store release process:
[17:46:28]:         https://docs.fastlane.tools/getting-started/ios/appstore-deployment/
[17:46:28]: 👩‍⚕️  Learn more about how to setup code signing with fastlane
[17:46:28]:         https://docs.fastlane.tools/codesigning/getting-started/

此处我选择3

如果你的工程是用cocoapods的那么可能会提示让你勾选工程的Scheme,步骤就是打开你的xcode,点击Manage Schemes,在一堆三方库中找到你的项目Scheme,在后面的多选框中进行勾选,然后rm -rf fastlane文件夹,重新fastlane init一下就不会报错了。

接着会提示你输入开发者账号和密码。
[20:48:55]: Please enter your Apple ID developer credentials
[20:48:55]: Apple ID Username:

登录成功后
选择开发者账号
选择证书

下载App的metadata。点y等待就可以。
如果报其他错的话,一般会带有github的相似的Issues的链接,里面一般都会有解决方案。

其中metadata和screenshots分别对应App元数据和商店应用截图。
Appfile主要存放App的apple_id team_id app_identifier等信息
Deliverfile中为发布的配置信息,一般情况用不到。
Fastfile是我们最应该关注的文件,也是我们的工作文件

在fastlane/Fastfile文件里的代码如下

default_platform(:ios)
platform :ios do
  desc "Push a new release build to the App Store"
  lane :release do
    build_app(workspace: "FindSchool.xcworkspace", scheme: "FindSchool")
    upload_to_app_store
  end
end

确认文件信息后执行命令开始打包
fastlane release

注意如果报错

Unable to locate Xcode. Please make sure to have Xcode installed on your machine

解决方式
sudo xcode-select --switch + 你xcode的路径

sudo xcode-select --switch + /Applications

报错Exit status: 65

The following build commands failed:
Ld /Users/lsdk/Library/Developer/Xcode/DerivedData/Loan-ahfvuzyligtoboaeccsmkarphhrz/Build/Intermediates.noindex/ArchiveIntermediates/Loan/IntermediateBuildFilesPath/Loan.build/Release-iphoneos/Loan.build/Objects-normal/armv7/Loan normal armv7
(1 failure)
▸ Compiling UIImage+colorToImage.m
▸ Compiling UIImage+RoundedCorner.m
▸ Compiling UIImage+Resize.m
▸ Compiling UIImage+ColorAtPixel.m
[17:36:48]: Exit status: 65

**xcodebuild引入了错误的平台资源**
解决方法
fastlane脚本需要xcodebuild

在终端输入
bundle exec fastlane build_ios --capture_output

报错Exit status: 70

打开项目,在buildsetting中设置bitcode为Yes

往下的时候咱们开发者账户一般设置里双重认证,在fastlane里面需要再次输入一次密码

Password (application-specific for 871200@qq.com): 

进入苹果网址
https://appleid.apple.com/account/manage

屏幕快照 2019-05-22 下午7.19.30.png

点击生成密码,一般会生成一串例如这样的密码,复制在终端return
yhwy-blpm-pbaz-lhlm

到了这里
[15:00:54]: This might take a few minutes. Please don't interrupt the script.

等待即可

如果您是忘记了步骤,请看如下简易步骤

1、cd到你的项目目录执行
fastlane init
2、选择3发布到appstore
3、输入账号和密码
4、确认文件信息后执行命令开始打包
fastlane release
5、进入苹果网址,点击生成密码
https://appleid.apple.com/account/manage

使用Xcode的自动管理签名功能。默认情况下,xcodebuild禁用自动签名。要启用它,请-allowProvisioningUpdates通过以下export_xcargs选项传递

在fastlane中添加
build_app(export_xcargs: "-allowProvisioningUpdates")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容