vinhnx / ProjectTemplate

iOS template project. Modified from Flatstacks' original.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ProjectTemplate

iOS Swift template application. Orignal by Flatstack. Modified by Vinh Nguyen.

Also, check out my NVExtension package.

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.

Initialzation

Open Terminal, run init.sh script to bootstrap new project:

$ ./init.sh

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.

About

iOS template project. Modified from Flatstacks' original.

License:MIT License


Languages

Language:Swift 77.4%Language:Ruby 19.1%Language:Shell 3.5%