はじめに
2021年4月に iPhone & iPad 向けに ToDo リストのアプリをリリースしました。その際に参考にした情報をここにまとめます。
これから初めて iPhone アプリを開発し、リリースする予定という方の参考になれば幸いです。
SwiftUI に関する情報
-
SwiftUI の基礎
- 書籍: 詳細! SwiftUI iPhoneアプリ開発入門ノート[2020] iOS 14+Xcode 12対応
- 分かりやすく、入門書として最適。
-
SwiftUIへの道
- SwiftUI の具体例が豊富に記載されていて、またその説明も分かりやすい。
- iOS SwiftUI Training (ミクシィの22新卒技術研修資料)
- [Apple公式チュートリアル: Develop Apps for iOS] (https://developer.apple.com/tutorials/app-dev-training/)
- 書籍: 詳細! SwiftUI iPhoneアプリ開発入門ノート[2020] iOS 14+Xcode 12対応
-
データの永続化
-
複数の永続化方式の比較
-
iOS Data Persistence in Swift
- 永続化の手段として、
UserDefaults
,Keychain
,Saving files to disk
,CoreData
,SQLite
,Property List
を比較
- 永続化の手段として、
-
iOS Data Persistence in Swift
- CoreData の使い方
-
CoreData の iCloud 連携
- Apple公式: Setting Up Core Data with CloudKit
- Core Data を CloudKit 連携させる
-
SwiftUI と MVVM で始める CoreData 入門 (その15:iCloud 同期)
NSPersistentContainer の代わりに、NSPersistentCloudKitContainer を使うことで、自動的に iCloud と Sync されます。
- UserDefaults の使い方
- UserDefaults の iCloud 連携
-
複数の永続化方式の比較
-
通知
- [Apple公式: Scheduling a Notification Locally from Your App] (https://developer.apple.com/documentation/usernotifications/scheduling_a_notification_locally_from_your_app)
-
Property Wrappers
-
忙しい人向けの Data Essentials in SwiftUI: Part 1 #WWDC20
View が一時的に使用するデータは @State、他の View が所有するデータを変更する場合は @Binding を利用するとよい。
-
Stack Overflow: Use @Binding with Core Data NSManagedObject?
@Binding only works with structs.
-
忙しい人向けの Data Essentials in SwiftUI: Part 1 #WWDC20
-
多言語対応
- テキストの多言語化対応
- 画像の多言語化対応
- テスト
- 英語への翻訳
App Store へのアプリの登録
Apple Developer Program
自分が開発したアプリを App Store に登録するには、まず Apple Developer Program に参加する必要があります。
- Apple Developer Program の内容は以下のページで確認できます。
- Apple Developer Program への参加手続きは以下のページからです。
- Apple Developer Program の登録アカウントの管理は以下のページから行えます。
TestFlight
-
Apple公式: TestFlightでAppをテストする
- テスター向けの TestFlight の利用手順
App Store Connect
自分のアプリを App Store に登録するには、まずはじめにアプリを App Store Connect にアップロードし、必要な情報を入力した上で、 Apple に審査を依頼する必要があります。
- アプリの App Store Connect へのアップロード手順
- App Store Connect の iPhone & iPad アプリ
-
App Store Connect
- これを iPhone にインストールすることで、 iPhone からアプリの審査状況などを確認できます。
-
App Store Connect
スクリーンショット
- Apple公式: スクリーンショットの仕様
- Apple Product Images
- App Store スクリーンショットデザインまとめ
-
App Store提出用のスクリーンショットを無料で自作する
- 私もこのページを参考にし、 Keynote を使ってスクリーンショットを作成しました。
プロモーション(宣伝)
アプリの宣伝のための一つの手段として、独自ドメインを取得し、そのドメインにアプリの紹介ページを作成しました。また、プライバシポリシーを開示するページもそのドメイン上に作成しました。
また、独自ドメインを取得することで、新規のメールアカウントを容易に作成することができます。その新規のメールアカウントを使い、新規の Twitter アカウントを作成することで、 Twitter における宣伝活動もしやすくなります。
-
独自ドメインの取得
- 業者の比較
-
Google Domains
- ドメインをお名前.comからGoogle Domainsに移管したらメリットしかなかった
- => 比較の結果、私は Google Domains を利用して独自ドメインを取得しました。
-
Webページの作成
-
App Store バッジ
-
Apple公式: マーケティングリソースとアイデンティティに関するガイドライン
- App Store バッジは上記ページからダウンロードできます。
-
Apple公式: マーケティングリソースとアイデンティティに関するガイドライン