On Demand Resourceをテストする
- ライブラリーをODRでダウンロードして使えるかをテスト
設定方法
- XcodeのProject SettingのBuild Settingsに移動し、Enable On Demand Resourcesを Yesにする。
- XcodeのProject SettingのResource Tagsタブに移動しタグを追加する。そのタグにODRにしたいAssetを追加する。
実装方法
Task {
// NSBundleResourceRequestインスタスを先作成したタグ名で生成する
let request = NSBundleResourceRequest(tags: Set(["Tag"]))
// ODRがすでにダウンロードされたかを確認する
let accessible = await request.conditionallyBeginAccessingResources()
// ダウンロードされなかった場合、App Storeからダウンロードする
do {
try await request.beginAccessingResources()
} catch {}
// ダウンロードされている場合、すぐに使用可能
request.bundle
}
テスト方法
- 前準備:Ditribution認証書が必要。 ちゃんとした認証書(オレオレX)を使っているTLS(https)サーバーが必要。 AWS S3を使うと便利。
- XcodeでArchiveを実行した後OrganizerでDistribution Appボタンを押す
2.Ad hocを選択する
3.On-Demand ResourceをHost on Serverに変更する
4.URLを入力する. App URLはAsset Pack Manifest URLは入力必須.
5.生成されたファイルを全部サーバーにあげる
6.iPhoneから接続するhtmlを作って一緒にあげる
<html>
<a href="itms-services://?action=download-manifest&url=https://bluerain-blog.s3.ap-northeast-1.amazonaws.com/manifest.plist">App Install</a>
</html>