Git Product home page Git Product logo

projecttemplate's Introduction

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.

projecttemplate's People

Contributors

vinhnx avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.