酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

2017/11/02

朝から忙しくてアレやってコレやってとてんやわんやしていた。

知らないうちにXcode 9.1にアップデートされる

昼ごはん食べて戻ってきたらXcode 9.1が勝手に適用されていたので、今までビルドが通っていたのにビルドが通らなくなっていた。多分昼休憩前に一旦再起動させたので、その時に誤って更新ダイアログを押したに違いない。

RealmSwiftがSwiftバージョンが違うとビルドエラーになって困った。

carthage updateはめちゃくちゃ時間かかる。RealmとRxSwiftだけでも15分以上はかかっていたかもしれない。

.gitignoreが原因でファイルが特定のファイルがpushできていなかった

手元の環境ではシミュレータで実行させるところまではそのあとすんなりいったんだけど、次はビルドサーバーでビルドに失敗するようになってしまって原因を探していた。

f:id:ch3cooh393:20171103001844j:plain

Headers/Realm.h:28:9: error: 'Realm/RLMRealm+Sync.h' file not found

ローカルにはRLMRealm+Sync.hがいるのにエラーになっていて訳がわからなかった。Jenkinsの該当部分のログを見てみると本当にファイルが見えていないみたいだ。GitHubでソースコード一覧をみたらRLMRealm+Sync.hが存在しないことに気づいた。

特定のファイルがgitにpushできていなかった原因

.gitignore の理解度不足でした。

今開発しているiOSアプリは、ライブラリ管理にCocoaPodsとCarthageとを使っているんですけれど、少し前にCarthageでビルドしたframeworkをgitに含めるようにしていました。もともとリポジトリの .gitignore にはbuild/が含まれており、Carthage/Buildも対象外となっていました。

.gitignoreには以下の記載が含まれていたし、RLMRealm+Sync.h以外の変更ファイルは更新できていたので原因に気付くのに遅れてしまった。

Carthage/Checkouts
!Carthage/Build

git ignore-check -v {PATH}で調べてみるとbuild/のために無視されていることがわかった。git add -f {PATH}するくらいしか思いつかないので追加した。

ポケモン ウルトラサンを買った

悩んだ結果、ポケモン ウルトラサンのダウンロード版を購入した。メインロムはウルトラサンに決まりました。

そのうち、サブロムとしてウルトラムーンを購入したい。