Slide 1

Slide 1 text

App Storeの外へ 日本のiOSサイドローディング入門 合同会社DMM.com 野瀬田 裕樹(@ynoseda)

Slide 2

Slide 2 text

スマートフォンにおいて利用される 特定ソフトウェアに係る競争の促進に関する法律 (通称:スマホ法、スマホ新法)

Slide 3

Slide 3 text

スマホ新法 • 取得したデータの不当な使用の禁止 • 個別アプリ事業者に対する不公正な取扱いの禁止 • 代替アプリストアの提供等を妨げることの禁止 • OS 機能の利用を妨げることの禁止 • 代替支払管理役務等の利用を妨げることの禁止 など

Slide 4

Slide 4 text

代替アプリストアの提供等を妨げることの禁止 (例外規定はあります) ↓ App Store以外からのiOSアプリ配布にAppleが対応 (通称サイドローディングが可能に)

Slide 5

Slide 5 text

Alternative App Marketplace

Slide 6

Slide 6 text

Alternative App Marketplace • サイドローディングでアプリをインストールしてもらうためには、 代替アプリマーケットプレイスに掲載してもらう必要がある • 対象OS:iOS 26.2〜

Slide 7

Slide 7 text

Alternative App Marketplace • 代替アプリマーケットプレイスを開発する場合は 厳しい制約がある • 例えば以下のいずれかを満たす必要がある A. 100万米ドル以上のスタンバイ信用状をAppleに提供 B. 以下の両方 ・Apple Developer Programで2年以上継続して良好な状態 ・前年のFirst Annual Installsが全世界で100万回超

Slide 8

Slide 8 text

代替アプリマーケットプレイスに アプリを出したい!

Slide 9

Slide 9 text

Appleに審査してもらいましょう!

Slide 10

Slide 10 text

Notarization(公証) • 公証:配信チャネル(どこで配信されるか)に関わらず すべてのアプリに適用される審査 • 通常のApp Store配信と同じく、 App Store Connectから公証の手続きを行う • App Storeの標準審査と公証では 適用されるガイドラインの範囲が異なる

Slide 11

Slide 11 text

ガイドラインの違い

Slide 12

Slide 12 text

公証の手順 • マーケットプレイスの開発者に自身のDeveloper IDを伝え、 マーケットプレイストークンを提供してもらう • App Store Connectでトークンを入力する • App Store Connect上から 配信アプリの選択や公証提出を行う

Slide 13

Slide 13 text

App Store Connectの代替配信設定

Slide 14

Slide 14 text

Review Type

Slide 15

Slide 15 text

実装の変更が必要な例 • App Storeの機能やAPIに依存するような処理 • ストアのアプリバージョンを参照する • 強制アップデートの遷移先としてのストアページ • In-App Purchase • On-Demand Resource

Slide 16

Slide 16 text

実装の変更が必要な例 • 配布チャネルに応じてデザインなどを変更する処理 • AppDistributor.currentで配布チャネルを見て分岐 • 代替アプリストアからのインストールをデバッグするには Build Settings で MARKETPLACES に マーケットプレイスの Bundle IDを設定 https://developer.apple.com/documentation/marketplacekit/distributing-your-app-on-an-alternative-marketplace

Slide 17

Slide 17 text

まとめ • 複数の配布チャネルに対応するため、 代替アプリマーケットプレイスと公証の概要を把握しよう • App Store Connect上の公証提出フロー自体は、 通常のApp Store配信と大きく変わらない • App Store APIなどのApp Store依存の処理を見直せば、 複数の配布チャネルに対応しやすくなる

Slide 18

Slide 18 text

Speaker 野瀬田 裕樹(@ynoseda) 京都生まれ iOSがメインだけど Androidやったり たまにFlutterもやります

Slide 19

Slide 19 text

ご清聴ありがとうございました