[はじめてのiOSアプリ]xcodeで地図アプリを作成（その１）

# はじめに
iOSアプリを作ってみたいけど
何から始めて良いのかわからない

とりあえず、
「やってみました」記事を参考に
地図アプリを真似てみようと思う

という記事の１回目です。

今回は、プロジェクトを作成します。

# ＋αの目標
世の中に「やってみました」記事は、たくさんある。
多くの場合、同じことをすれば同じ結果を得ることができる。

しかし「なぜそのようなことをするのか？」を
解決できないから自分が成長しない。

『人が書いた「やってみました」記事を参考に
できるだけ「なぜ？」を解決しながらやってみよう』（汗）

# 機能リスト
- 基本機能として、このような機能があればいいかな？
  - 地図を表示
  - GPS(corelocation)で現在位置取得し表示
  - GPSと地図表示を連動

- 追加機能としては、これ。
  - 縮尺を変更可能
  - GPS 精度変更
  - 逆 geocoding で地名表示

# プロジェクト作成
1. Xcode11 を起動
   - 【なぜ？】
     - iOS アプリを開発するには xcode を使う必要があるから
1. 新規プロジェクトを作成
   - [Create a new Xcode project]を選択
   - 【なぜ？】
     - 新しいアプリケーションを作成するから
     - 新しいアプリケーションを作成するとき、最初に１回だけ行えばよい
1. プロジェクト種別
   - [iOS]-[Single View App]を選択<br>
<img width="727" alt="NewProject.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/521802/3a05138d-e293-9873-98ed-84d0464b20ab.png">
   - 【なぜ？】
     - 今回の地図アプリは、１画面で実現できるから
1. プロジェクト情報<br>
<img width="727" alt="NewProjectOptions.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/521802/5875d727-e062-347c-ece5-29bef4c42233.png">
   - [Product Name]
     - MyGpsMap
     - 【なぜ？】
         - 作ろうとしているアプリの名称として適切と思ったから
         - 自分が作成するアプリ名称で重複しない文字列
   - [Team]
     - Personal Team
     - 【なぜ？】
         - None ではない、自分が所属している Team を選択
         - 実は良くわかっていない
   - [Organization Name]
     - shinobee
     - 【なぜ？】
         - 自分が所属する組織を示す文字列
         - 他人との重複は気にしなくて問題ない（と思う）
         - 実は良くわかっていない
   - [Organization Identifier]
     - com.zen-zee.shinobee
     - 【なぜ？】
         - 他の人と重複しない文字列
             - 今回は、自分が持っているドメイン＋username を使用
         - ドメインを持っていなければどうすれば良い？
             - com.icloud.*YourName* で良いのか？
         - 適当につけて、他人と重複したらどうなるのか？
   - [Bundle Identifier]
     - 変更できないので、そのまま
   - [Language]
     - Swift
     - 【なぜ？】
         - Swift を使いプログラムを書くから
   - [User Interface]
     - Storyboard を選択
     - 【なぜ？】
         - 従来からの UI 作成手段
         - Swift UI のこと良く知らない、使ったことがない
   - [Use Core Data]
     - チェックを入れる
     - 【なぜ？】
           - iOS アプリの標準的なフレームワークなので入れておけば良い
           - 実は良くわかっていない
   - [Use CloudKit]
     - チェックを入れない
     - 【なぜ？】
           - 今回は、iCloud を使わないから
   - [Include Unit Tests]
     - チェックを入れる
     - 【なぜ？】
         - 自動テスト関連
         - 将来も使わなかもしれないけど、基本的に無害なので入れておけば良い
   - [Include UI Tests]
     - チェックを入れる
     - 【なぜ？】
         - 自動テスト関連？
         - 将来も使わなかもしれないけど、基本的に無害なので入れておけば良い
         - 実は良くわかっていない
1. プロジェクト情報保存フォルダ
   - ${HOME}/github/shinobee/
     - 【なぜ？】
         - [この記事](https://qiita.com/shinobee/items/f87e36b706fab138c119)を見てください
   - [Create Git repository on my Mac]にチェックを入れる
     - 【なぜ？】
         - ソースのバージョン管理に git を使用するから
         - 将来も使わなかもしれないけど、基本的に無害なので入れておけば良い
1. 作成したプロジェクト<br>
<img width="1272" alt="ProjectMyGpsMap.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/521802/9fc24304-d6d2-53a4-4c1c-968fe8550f29.png">


# 今回の到達点
- これで良いのかわからないけど、とりあえず、xcodeのプロジェクトまで作成できた

# 連載
1. [[はじめてのiOSアプリ]xcodeで地図アプリを作成（その１：プロジェクト作成）](https://qiita.com/shinobee/items/1f6d26451336bf736484)
1. [[はじめてのiOSアプリ]xcodeで地図アプリを作成（その２：地図表示）](https://qiita.com/items/50e1acee3024c3e26fb9)
1. [[はじめてのiOSアプリ]xcodeで地図アプリを作成（その３：位置情報取得）](https://qiita.com/items/b8d287d2e34af20aab64)
1. [[はじめてのiOSアプリ]xcodeで地図アプリを作成（その４：位置情報と連携した地図表示）](https://qiita.com/items/a91c49ebf5301d936120)
1. [[はじめてのiOSアプリ]xcodeで地図アプリを作成（その５：アプリアイコン設定）](https://qiita.com/items/24804294ab86635ee5d3)
1. [[はじめてのiOSアプリ]xcodeで地図アプリを作成（その６：拡大・縮小ボタン追加）](https://qiita.com/items/12c54c4e253bc48cad4d)
1. [[はじめてのiOSアプリ]xcodeで地図アプリを作成（その７：地図を拡大・縮小）](https://qiita.com/items/4406c4fdf2fbdcc40533)
1. [[はじめてのiOSアプリ]xcodeで地図アプリを作成（その８：地名表示）](https://qiita.com/items/3363779d0ea11ca6073c)
1. [[はじめてのiOSアプリ]xcodeで地図アプリを作成（その９：ソースコード管理）](https://qiita.com/items/d0e63020b0dce4c70542)

<!-- eof -->