Skip to content

fs/ios-base-swift

Repository files navigation

Build Status

ios-base-swift

iOS swift template application.

Get started

To setup project follow a few simple steps:

  1. Download.
  2. Rename project.
  3. Configure CocoaPods.
  4. Configure Fabric/Crashlytics.
  5. Edit README.md.

Download

Download prject as zip file.

Rename project

run rename-project.command script

Configure CocoaPods

  • Find Podfile in project.
  • Uncomment, add or remove pods.
  • Then run in terminal:
pod install

Configure Fabric/Crashlytics

  • Download Fabric desktop application
  • Check Bundle ID in project build settings for all schemes.
  • Create new organization in Fabric/Crashlytics.
  • Add applications to this organization for all schemes.
  • [!] Do not forget change Run Script in settings of the project.

Configure TestFlight

Edit README.md

  • Edit README.md.

CI

Creating certificates and provisioning profiles

  • Go to Developer Center.
  • Choose Certificates -> All and create Developer and Distribution certificates.
  • Choose Identifiers -> App IDs and create new two bundles for Staging and Release.
  • Choose Devices -> All and add all devices for testing.
  • Choose Provisioning Profiles -> All and create 6 provisioning profiles for Staging Debug Staging, Release Staging, AppStore Staging and for Release Debug, Release, AppStore.
  • Download the 2 certificates and the 6 provisioning profiles.
  • Copy the files to /Certs path.
  • Encrypting the files via encrypt.sh

Setting fastlane scripts

  • We use bundler for third-party gems. Set it like here.
  • Find AppFile in the project and set team_id from developer program. (for private repos)
  • Find Deliverfile in the project and set username like apple id. (for private repos)
  • Open the Terminal, write fastlane fastlane-credentials add --username YOUR_APPLE_ID and save your password to CredentialManager. It need that you can send new builds locally without input of the password everytime.
  • Find Fastfile in the project and set:
  • fastlane_version, info_plist_path - required settings of the project.
  • CRASHLYTICS_GROUPS - testers aliases of Fabric/Crashlytics. Example: "group1, group2". (for private repos)
  • BUNDLE_ID_APPSTORE, BUNDLE_ID_APPSTORE_STAGING - for TestFlight.
  • Check SCHEME_STAGING, SCHEME_APPSTORE, SCHEME_APPSTORE_STAGING - shared schemes.

Setting Travis

Add on the CI environment variables:

  • APP_NAME - your the name of the app (can be open)
  • ENCRYPTION_SECRET - secret key of certificates and provisioning profiles (must be private)
  • DEVELOP_BRANCH and DEVELOP_LANE - setting developer branch and fastlane name (can be open)
  • RELEASE_BRANCH and RELEASE_LANE - setting release branch and fastlane name (can be open)
  • FASTLANE_TEAM_ID, FASTLANE_USER and FASTLANE_PASSWORD - teaapple id for deploying to testflight (must be private)
  • CRASHLYTICS_TOKEN, CRASHLYTICS_SECRET and CRASHLYTICS_GROUPS - API key and Build secret of Fabric for deploying to Fabric/Crashlytics (must be private)

License

ios-base-swift is released under the MIT license. See LICENSE for details.