【かけ出しiPhoneアプリ開発】アプリ開発、アプリ設計をはじめる前に知っておきたいこと



【かけ出しiPhoneアプリ開発】アプリ開発、アプリ設計をはじめる前に知っておきたいこと

iPhoneアプリ開発をはじめたばかりの方にお届けする 【かけ出しiPhoneアプリ開発】 シリーズ。
今回は 『アプリ開発、アプリ設計をはじめる前に知っておきたいこと』をご紹介。

「Siriを活用したアプリを作ってみたい」「iCloudと連携したアプリを作ってみたい」と思っている方は要チェックですよ。

目次
  1. 【かけ出しiPhoneアプリ開発】アプリ開発、アプリ設計をはじめる前に知っておきたいこと
  2. アプリ開発を失敗しないために
  3. 実機テスト
  4. 開発ジャンル
  5. ユーザーの端末指定はできない
  6. まとめ

【かけ出しiPhoneアプリ開発】アプリ開発、アプリ設計をはじめる前に知っておきたいこと

アプリ開発を失敗しないために

image

本稿を作成しようと思ったキッカケは、「えっ、 Siri を使ったアプリ開発って、Appleにデベロッパー登録する必要があるの?」と判明したからです。私の場合は、まだ準備不十分で Apple社へのデベロッパー登録($99/Year) を行っていませんでした。もうチョット準備が整って、試作品ができたら登録しよう!、と思っていた矢先の出来事です。

$99/Year、高いと思うのは私だけでしょうか?確かに Apple社からのサポートは手厚く、 $99 は決して高くない内容ですが、主夫の立場で考えると高いです。また今回の場合は、「思っていたのと違う」という部分のストレスが大きく、モチベーションが低下。私と同じ気持ちにならないよう、これからアプリ開発をされる方に参考となればと思って情報をまとめた次第です。

実機テスト

image

Siriの前に、実機でシミュレーターする場合の注意点をお知らせ。実機でアプリをテストしたい場合は、1週間のプロジェクト作成数が 10以下である必要があります。「これからカメラ機能を使ったアプリを作成しよう」と思っても、たくさんアプリを試作していた場合は実機でシミュレーションできません。

ただし、この実機でシミュレーターできない場合の回避策はいくつかあって、簡単な方法は、プロジェクトを複製することです。XCodeのプロジェクトフォルダごと複製して、使用するんですね。

image

こうするとプロジェクトのフォルダ名は異なりますが、プロジェクトの Bundle Identifier は同じ。つまり Appleが規定するプロジェクトの作成数にカウントされずに済みます。ただし、これはあくまで試験的な使い方で、実際に複製したプロジェクトをリリースとなると ID の面でエラーになる可能性がありますので要注意です。

開発ジャンル

image

アプリ開発初心者の方の多くが、無料の Apple ID で XCodeをいじり、アプリ開発を行っていると思います。しかし、無料の Apple ID では、開発できるジャンルが上図のように少ないです。以下に Apple社の Webページで公開されているデータを引用表示します。

項目Apple IDApple Developer Programメンバー($99/Year)
App GroupsAppグループ
Background Modesバックグラウンド実行
Data Protectionデータ保護
HealthKitヘルスキット
HomeKitホームキット
Inter-App Audioオーディオ機能
Keychain Sharingキーチェーンの共有
Maps地図
Wireless Accessory Configurationワイヤレスの設定
Apple PayAppleペイ-
Associated Domains関連ドメイン-
Device Checkデバイスチェック-
GameKitゲームキット-
iCloud / CloudKitiCloud-
In-App Purchaseアプリ内課金-
MusicKitApple Music-
Network Extensionsネットワークの拡張-
NFC TagsNFC-
Personal VPNパーソナルVPN-
Push Notificationsプッシュ通知-
SiriSiri-
Walletウォレット機能-

公式ページ


【表内の用語補足】
  1. App Grroups 同じ開発者が複数のアプリをリリースして、データ共有したい時に使う機能。
  2. Background Modes スマホ待機中でもアプリを動かすかどうかの機能。
  3. Data Protection アプリで作成したデータファイルに関するセキュリティー項目。
  4. HealthKit iPhoneのヘルスキット機能と連携したい時に使用。
  5. HomeKit iOSと家電をつなぐための機能。
  6. Inter-App Audio 音の調整機能。
  7. Keychain Sharing アプリを削除してもデータを残せる機能。
  8. Maps Apple社純正の地図機能。
  9. Wireless Accessory Configuration 現在地における Wi-Fi対応機器の検索など。
  10. Apple Pay  Appleペイの機能
  11. Associated Domains  Webサイトとの連携時に使用。
  12. Device Check  アプリを使用するユーザー毎にID(トークン)を生成し、初回アプリ起動でプレゼントなどに使う。
  13. GameKit  ソーシャルゲームを使いたい時に使う機能。
  14. iCloud / CloudKit  iCloudと連携したい時に使用。
  15. In-App Purchase  アプリ内で課金したい時に使用。
  16. MusicKit  Apple Musicの曲やプレイリストを取得したい時。
  17. Network Extensions  通信ネットワークをカスタマイズしたい時に使用。
  18. NFC Tags  NFC機能を使いたい時。
  19. Personal VPN  公衆 Wi-Fi の接続を想定したアプリ使用時に。
  20. Push Notifications  プッシュ通信を行いたい時。
  21. Siri  人工知能 Siriを使いたい時。
  22. Wallet  割引チケットや入場チケット、ギフトカードを使いたい時。

ちょっと情報量が多いのですが、 22項目ある内無料で利用できる機能は 9です。どうですか、自分が作ろうと思っていたアプリ、無料アカウント内で作れますでしょうか?

またアカウント・クラス以外にも、上記機能を使ってなんでもできる訳ではありません。基本的に Apple社が用意している範囲での機能に限られます。例えば Siri。Siriを使ったアプリ開発で使える連携機能は下記の 10こ。

  • Audio and video calling ・・・ 電話機能
  • CarPlay integration ・・・ 車のオーディオ操作
  • Fitness activities ・・・ フィットネス機能
  • Lists and notes ・・・ ToDoリストとの連携など
  • messaging ・・・ メール機能
  • Payments ・・・ 支払い機能
  • Photo management ・・・写真検索
  • Ride booking ・・・ 乗車予約
  • Vehicle integration ・・・ 車の操作
  • Visual codes ・・・ QRコードの表示など

公式ページ

このようにアプリ開発といえども限られた範囲での開発となるとなることを、事前に認識しておきましょう。合わせてアプリを公開する前には、Apple社の審査がありますので、アプリの内容が審査基準を満たすかどうか、予め知っておくと安心しそうですね。 ちなみに Apple社からのアプリガイドラインは、37,000文字以上。ちょっと大変ですが、Apple社の意向を理解する意味でも一読しておきましょうね。

Apple アプリストア ガイドライン

ユーザーの端末指定はできない

image

最後の項目ですが、XCodeでアプリを作成する際、ストーリーボード上の部品レイアウト、きちんとされていますでしょうか?「僕は iPhone用のアプリを作るので、iPadのレイアウトは関係ない」「自分の iPhone8 でキレイに見えればそれでいい」なんて思われていませんか?

作成したアプリをいざ公開しようと申請するとき、利用端末の特定は指定できません。つまり iPhoneではいい感じだけど、 iPadではレイアウトが崩れる、こうした場合、審査が通らない可能性があります。

Apple社側の意向を知った上でアプリ開発に勤しめば、リジェクト率も下がり、スムーズにアプリ公開できるのではないでしょうか?

まとめ

iPhoneアプリを開発しようと勉強し始めた時は、「参考書の中だけの世界」「自分の調べるキーワードだけの世界」になりがちで、今回のような”制限”的なものに気づかないこともあります。特に独学者は、まわりとの交流が少ない分、こうした重要情報に気づかないリスクがあるでしょう。

「そもそも独学で Swift始めたけど、途中で辞めた」「Swiftの基礎がなくてもアプリ開発できる」と思われている方、その場合の学習環境はやはり「独学」でしょうか。Apple社が求める社会貢献的なアプリ開発を考えると、やはり Swiftの基礎知識は欠かせません。ちょっと地味な基礎学習も「オンライン」の学習環境で取り組むと案外スムーズに楽しくいくかもしれませんよ。 それは自分のライフスタイルの中で、本格的なレッスンをモニター越しに受けられるから。

特に『オンライン × マンツーマン』 で定評のある CodeCamp では、早朝から深夜まで365日*受講可能とユーザーの立場に立って幅広い受講時間を用意。「オンライン・レッスン」未経験の方、まずは無料体験を利用してみませんか?詳しくは公式ホームページより確認してみて下さい。

オシママサラ
この記事を書いた人
オシママサラ
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp