Help us understand the problem. What is going on with this article?

【Xcode】無料の実機ビルドでどこまでできるのか

More than 1 year has passed since last update.

これは何

ご存知の通り、Xcode 7から開発中のアプリを無料で実機にインストールできるようになりました。それまでは年間11,800円の登録費用を払って、Developer Programに登録する必要がありました。
この記事では、無料で実機ビルドした場合の制限事項などをまとめます。

なお、無料で実機ビルドする方法については、下記記事が参考になります。
[Xcode][iOS] 有料ライセンスなしでの実機インストール 全工程解説! | Developers.IO

  • 2016/8/6 時点での仕様になります
  • Apple Developer Program に登録済みのアカウントを「有料アカウント」と表記します
  • Apple Developer Program に登録していないアカウントを「無料アカウント」と表記します

管理画面の違い

まずはDeveloperサイト上で操作できる内容を比較してみます。

Apple Developerサイトのメニュー

有料アカウントでは Certificates などが管理できるのに対し、無料アカウントではそれらの項目が見当たりません。

▼有料アカウント
スクリーンショット 2016-08-06 9.39.41.png

▼無料アカウント
スクリーンショット 2016-08-06 9.39.14.png

iTunes Connect

無料アカウントではアプリの管理画面にはアクセスできません。つまり、アプリをApp Storeに公開することはできません。もちろん、In App PurchaseやTestFlight の管理もできません。

▼この画面に飛ばされます
image

制限事項

次は機能単位での制限事項について調べてみます。

1. Push Notificationsなどが使えない

無料アカウントでは多くのサービスが使えません。

使用できないサービスの例:

  • Apple Pay
  • Game Center
  • iCloud
  • In-App Purchasing
  • Push Notifications
  • Wallet

無料アカウントで使えるサービスはXcodeプロジェクトのCapabilities画面を開くことで確認できます。

image

詳細はAppleの公式ドキュメントを参照してください。

2. 有効期限は7日

プロビジョニングプロファイルの有効期限は 7 日のようです。(最近までは90日だったようです)

<key>TimeToLive</key>
<integer>7</integer>

試しにプロビジョニングプロファイルを作ってみたところ、有効期限が7日後の8/13に設定されていました。(今日は8/6)

image

3. 登録できるデバイス数は不明

登録済みのデバイスは ProvisionedDevices のリストに追加されます。何台まで登録できるかはわかっていません。(ご存知の方おりましたら教えて下さい:bow:

追記:2018年11月現在で 4台 まではインストールできた、という情報をいただきました。@junpluse さんありがとうございます!

<key>ProvisionedDevices</key>
    <array>
        <string>XXXX</string>
    </array>

4. TestFlightのInternal/Externalテストは使えない

iTunes Connect の管理画面がそもそもないので、TestFlight は使用できません。

参考

無料アカウントで生成されるプロビジョニングプロファイルの中身

LocalProvision というキーが追加されるようです。

※一部はマスクしております

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>AppIDName</key>
    <string>XC Wildcard</string>
    <key>ApplicationIdentifierPrefix</key>
    <array>
    <string>XXXX</string>
    </array>
    <key>CreationDate</key>
    <date>2016-08-05T15:22:33Z</date>
    <key>Platform</key>
    <array>
        <string>iOS</string>
    </array>
    <key>DeveloperCertificates</key>
    <array>
        <data>XXXX</data>
    </array>
    <key>Entitlements</key>
    <dict>
        <key>keychain-access-groups</key>
        <array>
            <string>XXXX.*</string>     
        </array>
        <key>get-task-allow</key>
        <true/>
        <key>application-identifier</key>
        <string>XXXX.com.example.PersonalTeam</string>
        <key>com.apple.developer.team-identifier</key>
        <string>XXXX</string>
    </dict>
    <key>ExpirationDate</key>
    <date>2016-08-12T15:22:33Z</date>
    <key>Name</key>
    <string>iOS Team Provisioning Profile: com.example.PersonalTeam</string>
    <key>ProvisionedDevices</key>
    <array>
        <string>XXXX</string>
    </array>
    <key>LocalProvision</key>
    <true/>
    <key>TeamIdentifier</key>
    <array>
        <string>XXXX</string>
    </array>
    <key>TeamName</key>
    <string>Kosuke Ogawa</string>
    <key>TimeToLive</key>
    <integer>7</integer>
    <key>UUID</key>
    <string>XXXX-XXXX-XXXX-XXXX-XXXX</string>
    <key>Version</key>
    <integer>1</integer>
</dict>

リンク

koogawa
ドラムも叩けるプログラマです。iPhoneアプリ、Androidアプリ、mixiアプリを仕事/趣味で作ってます。主な作品 → http://bit.ly/koogawa
http://d.hatena.ne.jp/koogawa/
alu-inc
アルは、マンガファンがもっとマンガを楽しめるサービスを作るために立ち上げられた、テクノロジー企業です。
https://alu.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away