flwrap v1.1.0
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
cocoapodthen you should be creatingPodfileand already executedpod installat 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 initand 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
cronjob 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 Versionto1for new project, and changeVersioning SystemtoApple Genericunder Xcode'sBuild Settings. This will make sure thatcommit_version_bumpin 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
.gitignoreto exclude build artifacts from building process*.dSYM.zip *.ipa report.xmlSet
App Uses Non-Exempt Encryptionas a new key to project'sInfo.plistfile with value of typeBooleanasNO. 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.