LoginSignup
9
2

More than 5 years have passed since last update.

Xamarin.iOSにPull Requestを投げるまで

Posted at

はじめに

最近Xamarin.iOSのバグを発見してPull Requestを提出しました。その手順を書き留めておきます。

ビルドする

Build & Runを読んでmake worldまで実行します。

いくつか気をつけるポイントがありました。

Xamarin.iOSのリポジトリにはsubmoduleがあるので、それも含めてcloneします。

git clone --recursive git@github.com:xamarin/xamarin-macios.git

Xcodeは指定されたバージョンが必要です。2018/5/18時点で最新は9.3.1ですが、9.3.0が要求されました。次のコマンドで依存関係を確認できます。

./system-dependencies.sh --provision-visual-studio

古いXcodeは/Applications/Xcode93.appのようにファイル名末尾にバージョンを追加してインストールします。

テストを実行する

make worldが終わったらテストを実行してみます。テストはtestsフォルダに入ってます。

README.mdにテストのビルド、実行方法が書いてあります。

私が実行したかったテストはmonotouch-testフォルダ内にありました。それをiPhoneシミュレータで実行するコマンドは次のとおりです。

$ make
$ make run-ios-sim-monotouch-test

全てのテストを実行する(run-all)とディスクをかなり消費します。狙ったテストだけを狙った環境で実行するのが良いでしょう。

一度実行するとシミュレータが閉じてしまいます。もう一度確認するには、Xcodeからシミュレータを立ち上げてインストールされたテストアプリを実行します。

修正する

Monoのコーディングガイドラインに従って修正します。
特に気をつけるポイントは(と[の前にスペースを入れることです。Visual Studioでコピペするとこのスペースが削除されてしまいます。見た目にも気づきづらいのでコピペ元がOKだからと安心せずに確認する必要があります。

修正するときには必ずテストを書くようにしましょう。

Pull Requestを投げる

コミットを整理し、masterにrebaseしてからPull Requestを投げましょう。

Pull Requestを投げるとContribution License Agreementにサインしろと言われるので確認しましょう。

最後に

XamarinはOSSです。バグを発見したら、自前で回避するのもいいですが、本家に修正を投げてみてはいかがでしょうか。
かなりレスポンスがいいので意外と早く終わるかもしれませんよ。私の場合、Pull Requestを投げてから5分でレビュー指摘が返ってきました。

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2