flwrap
v1.1.0
Published
Fastlane wrapper for automatic iOS builder and distributor.
Downloads
10
Maintainers
Readme
flwrap
flwrap is thin layer wrapping around Fastlane to make execution on command easier.
This project is based off from Fastlane version 2.28.9.
Overview
It aims to be just a wrapper to execute Fastlane based commands. Most of the functionality provided by Fastlane already but by having a wrapper will give us room for enhancement or improvement later if needed.
Install
npm install -g flwrap
Commands
Execute flwrap -h
to see usage instructions with all possible parameters to use.
Workflow
- Developer created an Xcode project
- If you use
cocoapod
then you should be creatingPodfile
and already executedpod install
at this point. As this will allow it to create workspace project file for you. - Integrate project with Fastlane (thus with custom Fastfile)
- Normally you did it with
fastlane init
and it's just enough. Answer interactive questions that might ask during executing of such command. You can also consult fastlane doc for how to integrate with your Xcode project. - Modify fastlane configuration files especially
Fastfile
.- See example/. Notice line with
# TODO: ...
as you specify your values in there. - Make sure to set
ENV["DEVELOPER_DIR"] = '/Volumes/Main/Applications/Xcode8.3/Xcode.app/Contents/Developer'
in which it points to a desire Xcode version you want to build with this project. Otherwise, it will use default one automatically as can be retrieved byxcode-select
.
- See example/. Notice line with
- Normally you did it with
- Execute command to build project
flwrap --project-dir /Users/your-project-dir --fastlane-lane beta
- Better yet you can use above command to hook it up with your
cron
job to make it build periodically especially to extend testing period, or up to your CI setup.
Recommend Project Setting
Here is recommended advice to properly configure your Xcode project, and project repository in general to work with automated Fastlane's configuration file (Fastfile).
Enable agvtool by setting
Current Project Version
to1
for new project, and changeVersioning System
toApple Generic
under Xcode'sBuild Settings
. This will make sure thatcommit_version_bump
in Fastlane will work properly. See more information here.You might have to execute
agvtool new-version -all <version>
in case you have exsiting Xcode project that is uploaded to Testflight or App Store already and now you need to automate building process.<version>
is the current build number you have on Testflight or App Store. This command ensure that your project will have only an only single version number, and will work properly when build with Fastlane.Include the following lines in
.gitignore
to exclude build artifacts from building process*.dSYM.zip *.ipa report.xml
Set
App Uses Non-Exempt Encryption
as a new key to project'sInfo.plist
file with value of typeBoolean
asNO
. This is to avoid manual confirmation as you need to log in on iTunes connect website then click to resolve such issue. Doing this will safely avoid that and makes it automated.
License
This project is based on MIT license.