muapps

iOSアプリ開発で得られた知見をメモ代わりに投稿します。

ブランチモデルについて

ブランチモデルの採用

iOSアプリ開発をしていてブランチ運用について曖昧だったので、調べました。

私の場合、以下の理由で基本的にgit-flowを採用することにしました。

  • 調べた限りモバイルアプリではgit-flowの採用が多いので、現場が変わっても馴染みやすい。

  • モバイルアプリではWebに比べてリリースサイクルが長い。  

Git Flow

git-flowについては以下の記事で紹介されています。

2010年、オランダのエンジニアVincent Driessenさんの一提案に過ぎなかったgitのブランチモデル A successful Git branching model はその後、世界中に広く浸透し今やgit運用モデルとしてデファクトスタンダードになりました。

qiita.com

なおgit-flowはツールとモデル両方の名称として使われるようですが、ここでは後者の意味で取り扱います。

git-flowには以下のブランチがあります。

  • master
    リリースの状態。リリースごとにタグを打つ。

  • develop
    開発ブランチ。

  • release
    リリース準備が整ったらdevelopからチェックアウトする。
    リリースが完了したらmaster、develop両方にマージする。

  • feature
    機能ごとの作業ブランチ。developにマージする。

  • hotfix
    masterからチェックアウト。リリース版の緊急修正。

その他のブランチモデル

  • Git-Flow

  • Github Flow

  • Gitlab Flow

  • GitFeatureFlow

Webではリリースサイクルが短いため、git-flowを簡略化したGithub-Flowなどが採用されているようです。

 

iOSアプリに新バージョンの要素が適用(反映)されるタイミング

 新バージョンiOSSDKを含んだXcodeにアップデートしたとき(と思われる)。

 

例えばXcode11のリリースノートを見ると、iOS13のSDKを含んでいるとの記述があります。1つ前のバージョン10.3ではこれを含んでいないことも分かります。

f:id:muapps:20190928235718p:plain

Xcode11と10.3のリリースノート

なので、Xcode10.3からXcode11にアップデートしてアプリを申請・公開すると

iOS13の新要素がアプリに反映されます。

 

逆に言うと、iphoneiOSをアップデートしても自分のアプリをそのiOSバージョンのSDKを含んだXcodeでArchiveして申請、公開しない限り新要素は適用されません。

 

SDK(Software Development Kit)なので、なるほどという感じはしますね。

 

間違っていたらコメントなどで指摘いただけると嬉しいです!

 

iOSDC2019に初参加

1、2年前から存在は知っていたけど、今年初めて参加。

2日目からの参加。

参加1日目

2、3日前に開催に気づいて参加したから準備不足だった。

申込みが遅かったせいか、パスにはTwittetアイコンと名前は印刷されず。

せっかくだから記念に印刷されてるものがほしかったけど、これは仕方ない。


そして受付のあと、どこに行ったらいいかわからない...

しばらく企業ブース周辺で立ち尽くしたあと、トラックAのある2階へ。

 

オープニング聞いて、トークを聞いて、ランチを食べて、トークを聞いて、

初日が終了。

 

途中ネットがつながらなくて、周りはつながってるように見えたから?となってたけど、やっぱり障害があったらしい。(この辺は、最終日に説明があった)

 

最後のLTは初トークとそれ以外で分かれているのを知らなくて、それも踏まえて

選ぶことができなかった。

参加2日目(最終日)

今回企業ブースはあまり見れなかったけど、クイズに答えて、

SWIFT UIブックだけはゲットした。
1問目間違えまくったけど、やっぱりこれが難しかったらしい。

 

参加初日と同じく、Twitterで知ってた登壇者の人たちを実際に見れた。
普通に前を歩いてたり、振り向いたらすぐそこにいる。

フォローしてる人たちが登壇して喋ってるのを聞いたりして人柄が少し

分かって、なんか面白いと思った。

 

ほろよい飲みながら、LT聞いて、クロージング聞いて、

初めてのIOSDCは終了。

 

トークのスライドとかは公開されてるから、これから復習したい。

色々こまめに試す時間を増やしていこうかなーと思った。

モチベーションの部分で刺激になった。

 

f:id:muapps:20190909230650j:plain