GithubHelp home page GithubHelp logo

vinhnx / projecttemplate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fs/ios-base-swift

1.0 2.0 0.0 57.33 MB

iOS template project. Modified from Flatstacks' original.

License: MIT License

Ruby 19.11% Swift 77.36% Shell 3.54%

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

Roman avatar  avatar

Watchers

James Cloos 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.