
Find your version with: gem list fastlane" default_platform : ios platform : ios do # Before # before_all do update_fastlane reset_git_repo ( force : true ) # Ensure that no artifacts are left when you build the app. com / fotiDim / 68 f2614a7cb37bb0595473039c33b348 / raw / 50 ad741b90eab9254714148c53907ce5ee9382f7 / Appfile ) team_name "MY_TEAM_NAME" team_id "MY_TEAM_ID" for_platform : ios do for_lane : MY_SCHEME1 do apple_id MY_APPLE_ID1_STAGING app_identifier "MY." end for_lane : MY_SCHEME2 do apple_id MY_APPLE_ID1_LIVE app_identifier "MY." end end apple_dev_portal_id "MY_DEV_PORTAL_EMAIL" # Your Apple email address itunes_connect_id "MY_ITC_EMAIL" # Your iTunes Connect email address # Fastfile # ( https : // gist. The contents of our files are the following:
Now create a ‘fastlane’ folder with a ‘Fastfile’ and ‘Appfile’ inside.Open terminal and add ‘cd’ to your project’s root folder.Take special care with the ‘update_fastlane’ command that we need to support, as this requires special setup.We need version 1.107.0 as the minimum, since we are using commands that were added very recently.
XCODE VERSION 8 INSTALL
Install Fastlane following the instructions on the public repository. What is Fastlane? It’s a feature-rich toolkit that helps iOS (and Android) developers automate many of the tasks involved around app deployment. The user needs to have the ‘app manager’ role under ITC.Īt this stage, we can leave Xcode Server be. We will use these accounts to package and distribute our app. Create a separate account in and ITC. Make sure you have an email for our new user. Follow the wizard and when done, logout of macOS and login as the newly created ‘xcodeserver’ user. When prompted for a user, create a new one named ‘xcodeserver’. Install macOS Server and enable Xcode Server. We assume you are working locally on the server machine. The first thing we need to care about is setting up an Xcode server. You can easily replicate the existing lanes for as many targets you want. Continuous Delivery to the rescue.įor the sake of simplicity, in this article we will use 2 instead of 6 app targets named MY_SCHEME1 and MY_SCHEME2 respectively. Deploying six apps to ITC every few days is annoying and time consuming. We have a single Xcode project for all of these and one target for each app flavour (six in total). In addition, each one of our apps comes in three flavours (Staging, Live, AppStore) which point to different backend environments and use different API keys. We have two mains apps ( Zalando Lounge, Zalando Privé) which are identical, but uploaded to the App Store as different binaries for localization reasons. This process was created during my everyday duties in the iOS team of Zalando Lounge. We will try to keep things as simple and straightforward as possible. We will address some complexities such as having multiple apps (with different bundle IDs), bumping the build numbers automatically, and submitting it all on on iTunes Connect (ITC). In this article we will explore a way to set up an Xcode Server along with Fastlane tools to provide a seamless Continuous Delivery experience for your iOS team. Instead of the “_xcsbuildd” user, you can now pick one of your existing macOS users or even create a new one. This led to a few inconveniences and crypticness, but thankfully this is all you need to know nowadays.
So what was this “_xcsbuildd” user? It was a system user that your bots ran under up to OS X Server 5.1.x. But changes go beyond that: While not being mentioned in the changelog, the good old “_xcsbuildd” user is now gone. Say goodbye to OS X Server as now you have macOS Server.
It was released (almost) in parallel with Xcode 8 and might come as no surprise that it is the minimum required version by Xcode 8, which also spans new territory.