Covid-19Radar / Covid19Radar

Open Source / i18n / iOS Android Cross Platform Contact Tracing App by exposure notification framework Xamarin App and Server Side Code
https://github.com/Covid-19Radar/Covid19Radar/blob/master/CONTRIBUTING.md
Mozilla Public License 2.0
47 stars 9 forks source link

【Android/iOS】開発環境構築手順のドキュメント化 #527

Closed LeoAndo closed 4 years ago

LeoAndo commented 4 years ago

@kazumihirose

https://github.com/Covid-19Radar/Covid19Radar/issues/495#issuecomment-646970311 にて少し触れられた内容になりますが、 簡単で良いので、Windows/Macでの開発環境構築手順のドキュメント化をしていただけると嬉しいです。

zerobase commented 4 years ago

+1 ぜひお願いしたいです。よろしくおねがいします。

hiroakit commented 4 years ago

Hey guys. Is the information you want like this?

zerobase commented 4 years ago

Visual Studio for MacでiPhoneアプリをビルドできましたので情報共有しておきます。 下記の情報が「プロジェクト参加時に読むべき文書」に書かれることで、同じような点で足踏みする人がいなくなるといいですね。

全体的な手順については、このページが参考になりました:Xamarin.iOS アプリの無料プロビジョニング - Xamarin | Microsoft Docs ただし、Visual StudioをHomebrew Caskからインストールした場合、「Xamarin.iOSが必要」というエラーになり、ビルドできませんでした。(この原因に気づかずハマりました) 公式サイトからダウンロードしてインストールすれば問題ないです。

iPhoneシミュレーター上での実行はできたのですが、USB接続したデバイス用にビルドすることはできませんでした。 code signingのための(自動生成された)provisioning profileに 'com.apple.developer.exposure-notification' というentitlementが含まれていないので、エラーになります。(Provisioning profile "iOS Team Provisioning Profile: ****" doesn't include the com.apple.developer.exposure-notification entitlement.) このentitlementは、正当な開発者であることを証明する政府発行文書をAppleに提出し、Appleからの許可を得ることで使えるようになります(とExposure Notification APIs Addendumに書いてありました)。ですので普通は利用できませんね。 entitlementを削除してビルドすることはできます。ただし、その場合はExposure Notification APIが使えなくなります。

サーバーを動かす手順はこちら https://github.com/Covid-19Radar/Covid19Radar/issues/543#issuecomment-647131802 でlaisoさんが書かれています。 ただし、CosmosDBはMac上で動かないので、Windows仮想マシンかWindowsマシンを用意する必要があります。

yamachu commented 4 years ago

Exposure Notification APIは利用できませんが、 https://github.com/Covid-19Radar/Covid19Radar/pull/553 がmergeされたことにより、 Debug_Mock のConfigurationを使うことで、レスポンスのMockが更に容易に出来るようになったようです。

開発者の方はExposure Notification APIを使わない箇所のコントリビュートであれば Entitlements.plist を削除してビルドをすることでそのまま動作させることが出来そうですね。 使う場合は Debug_Mock のConfigurationでビルドを行いMockしたレスポンスで開発といったところでしょうか。

iOSのUSB接続での実機デプロイに関しては私は https://docs.microsoft.com/ja-jp/xamarin/ios/get-started/installation/device-provisioning/free-provisioning?tabs=macos この手順を踏んだ後、Entitlements.plistを削除することでデプロイ、およびdebugを行うことが出来ました。

hiroakit commented 4 years ago

Hi, super geeks.

I'd add the shared information to my PR. Azure Cosmos Emulator is cool, but why do you use it? It may be easier to host Azure Cosmos on your Azure.

hiroakit commented 4 years ago

Hey guys.

Core contributors merged #571 . If you have any additional matters, please send your PR as well. Thank you.

hiroakit commented 4 years ago

Dear @changeworld san, @kazumihirose san,

It seems that the PR merge commit (#571) has disappeared due to a something. Should I resend a PR?

hiroakit commented 4 years ago

I did retry it. Please, would do you like review #621?

kazumihirose commented 4 years ago

こちらは厚生労働省によって運用されているCOCOAのコードではありません。 大変恐縮なのですが、厚生労働省(COCOA)に再度Issue/PRなど頂ければ幸いです。 何卒宜しくお願い致します。 ただ、非常にありがたいご提案でして、Covid19Radarでもマージいたしました。