Skip to content

開発方針について

Takuma Homma edited this page Mar 4, 2017 · 3 revisions

コメントについて

  • 以下のような自動生成されるコメントを消す

2016-09-26 14 45 03

Storyboardの運用について

  • 画面ごとにStoryboardを作る
  • [Storyboard名]ViewControllerを作成する
    • 生成されたView ControllerのCustom Classを設定する
  • レビューの際は画像を添付する

開発・及びレビュー工程について

  • テストをできるだけ書く
    • UITestで確認できないところは実機テストをレビュワーにしてもらうことで担保する
  • テンプレートを元に、レビュー依頼を出す

アプリのスリープ設定について

  • デフォルトではスリープする設定になっている
    • ビルドして入れた一発目は、stopを押すまで表示されるようになっているので分かりづらい

変更方法

  • AppDelegate.swiftへ追記する
func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
    UIApplication.shared.isIdleTimerDisabled = true
    return true
}

Cocoapods導入に伴う色々なこと

開くべきプロジェクトファイルが変わった

  • project.pbxprojからsunset.xcworkspaceに変わりました

Bitrise CIの設定

  • 上の設定変更をWorkflowのApp Env varsよりしないと永遠にちゃんとしたビルドが走らないので注意

管理

  • cocoapodsはRuby Gem
  • PodfileとPodfile.lock
    • pod installするとこれらをもとにインストールされる
    • bundlerかよ

Fabric導入について

インストール -> pod install

  • Podfile
  • targetを書かないといけなくなったらしい
target 'sunset' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  pod 'Fabric'
  pod 'TwitterKit'

  # Pods for sunset

  target 'sunsetTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'sunsetUITests' do
    inherit! :search_paths
    # Pods for testing
  end
end

色んなキーについて

鍵の管理

  • Fabricは認証されてないと使えないので、鍵をプロジェクト内に読み込ませる必要がある
  • Run scriptや、コード内に直書きしていると危険

コード内で鍵を読み込ませたいときは?

cocoapods-keysを使おう!

plugin 'cocoapods-keys', {
  :project => 'sunset',
  :keys => [
    'APIKEY',
    'BUILDSECRET',
    'consumerKey',
    'consumerSecret'
  ]
}
  • keysは.envのkey (.envにおける、key=valueの式の左辺)と合わせる

Run Scriptで使いたい

  • .envを読み込んで、環境変数としておけば$YEAHとかで参照できる
  • オープンなリポジトリだったらリモートにはあげられないので、あったら読み込ませるようにした方が良い
if [ -e .env ]; then
  source .env
fi
  • CI上ではあらかじめWorkflowのsecret key varsに定義しておくと良い