ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
要点
- IPA(iOS App Store Package、.ipa)は、iOS / iPadOS アプリの配布用ファイル形式。
- 実体は ZIP で、ルートに
Payload/ディレクトリ、その中に.appバンドル(ディレクトリそのものがアプリ本体)が入る。 - App Store 公開には Provisioning Profile と 署名が必須で、Apple Developer Program の証明書チェーンで縛られる。
- TestFlight / Ad Hoc / Enterprise / Development の 4 種の配布チャネルがあり、各々が許可するデバイス・期間が異なる。
概要
IPA は iPhone OS 2.0(2008 年)の App Store 開始時から続く iOS 専用のアプリパッケージ形式である。Mac の .app バンドル文化を引き継ぎつつ、配布用に ZIP 化したものと見るとわかりやすい。
APK と同じく ZIP がベースだが、iOS の閉じた配布モデルにより、署名・プロビジョニング・配布チャネルの設計は大きく異なる。App Store からのダウンロード以外では原則として実行できず、Ad Hoc / Enterprise / Development は限定されたデバイスや組織内に閉じる。
内部構造
IPA を unzip すると、典型的には次のような構造が現れる。
- Payload/ — 必須トップディレクトリ
- Payload/MyApp.app/ — .app バンドルそのもの
- Payload/MyApp.app/MyApp — Mach-O 実行ファイル
- Payload/MyApp.app/Info.plist — メタデータ(バンドル ID、バージョン、必須デバイス機能など)
- Payload/MyApp.app/embedded.mobileprovision — Provisioning Profile
- Payload/MyApp.app/_CodeSignature/ — 署名情報
- Payload/MyApp.app/Frameworks/ — 動的フレームワーク(Swift 標準ライブラリ含む)
- iTunesArtwork / iTunesMetadata.plist — ストア用メタ(最近はサーバ側生成が中心)
- Symbols/ — クラッシュ解析用シンボル(含めると App Store Connect でクラッシュレポートが復号される)
Info.plist は XML/バイナリ plist 両形式があり、エクスポート時はバイナリ plist になることが多い。plutil -p Info.plist でテキスト化でき、例として次のような項目が並ぶ。
<key>CFBundleIdentifier</key>
<string>com.example.helloworld</string>
<key>CFBundleVersion</key>
<string>42</string>
<key>CFBundleShortVersionString</key>
<string>1.2.0</string>
<key>MinimumOSVersion</key>
<string>15.0</string>
主な用途
- App Store 配布 — App Store Connect への提出。最終ユーザーへの配布の基本
- TestFlight — ベータテスト。最大 10,000 名の外部テスター + 100 名の内部
- Ad Hoc 配布 — UDID 登録済みの限定デバイス向け(最大 100 台 / 年・カテゴリ別)
- Apple Developer Enterprise Program — 自社従業員向けに App Store を介さず社内配布
- Development 配布 — Xcode から開発端末へ転送(実機デバッグ用)
- MDM 配布 — Jamf、Intune、Apple Business Manager 経由
関連形式との比較
- vs APK — APK は
AndroidManifest.xml+classes.dex構成、IPA はInfo.plist+ Mach-O。どちらも ZIP 基底だが、署名は IPA が Apple の証明書チェーン、APK が開発者鍵自身。 - vs .app バンドル — IPA は .app をさらに ZIP したもの。macOS の .app は単体でドラッグ起動できるが、iOS の .app は IPA に包んで配布される。
- vs DMG — DMG は macOS ソフトウェアの配布ディスクイメージ、IPA は iOS アプリの配布パッケージ。用途・OS とも別物。
- vs ZIP — 実体は ZIP だが、Apple の署名スキームと Provisioning Profile という制度上の拘束が決定的に違う。
コマンド・ツール
- Xcode > Archive > Distribute App — 通常の IPA 生成・配布フロー
xcodebuild -exportArchive -archivePath foo.xcarchive -exportPath out -exportOptionsPlist export.plist— CI 用のヘッドレス IPA 出力- Transporter.app — App Store Connect への IPA アップロード
altool --upload-app -f app.ipa -t ios -u APPLE_ID -p APP_PW— CLI からのアップロード(fastlane 内部でも利用)- fastlane(
gym+pilot+deliver)— ビルド・TestFlight・ストア提出を自動化 codesign -dvvv Payload/MyApp.app— 署名情報の確認codesign --force --sign "iPhone Distribution: …" Payload/MyApp.app— リサインsecurity cms -D -i embedded.mobileprovision— Provisioning Profile の中身を XML として表示ideviceinstaller -i app.ipa— libimobiledevice 経由でデバイスへインストール(macOS/Linux)
注意点
- Provisioning Profile の有効期限に注意。Development は最大 1 年、Distribution は 1 年、Enterprise は 1 年。期限切れの IPA は起動できなくなる。
- App Store Distribution は Apple Review 通過が必須。技術仕様だけ揃えても、ガイドライン違反(メタデータ、課金規約、ユーザートラッキング開示など)でリジェクトされる。
- Enterprise 配布の濫用は契約違反。Apple Developer Enterprise Program は社内利用に限定で、一般公開すると Apple に検出されアカウント停止されうる。
- サイドロードは原則不可(EU の DMA 対応など一部地域で例外あり)。「IPA を Web で配布してインストール」は Ad Hoc / Enterprise の枠内でしか成立しない。
- Symbols(dSYM)の保存を忘れない。配布後にクラッシュ解析できないと致命的になる。
- Info.plist のキー名は
CFBundleIdentifier/CFBundleVersionなど決まり物が多い。タイポ一つでビルドが通っても審査ではじかれる。
関連リンク
- 実行ファイル・パッケージ(親カテゴリ)
- ファイル拡張子とは(概論)
- APK(.apk)(Android の対応形式)
- app(.app)(macOS/iOS のアプリバンドル)
- DMG(.dmg)(macOS のディスクイメージ配布)
- アーカイブ・圧縮形式(IPA は ZIP ベース)
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?