見出し画像

Xcode 12でビルドしたアプリを iOS 15.x のデバイスにインストールする方法

Xcode の最新版のアップデートを実施する際、新しいOSや新しいMacを必要とするケースがあります。このような状態で最新のiOS (2022年7月27日時点はiOS 15.6が最新)デバイスにビルドしたアプリをインストールして動作チェックを行う場合、エラーが発生します。このエラーを回避してビルドしたアプリをインストールする方法を説明します。


OnePlanet XR について

https://1planet.co.jp/xrconsulting.html

このブログ記事は OnePlanet XR によるものです。
OnePlanet XR は、AR/MR/VPS技術に専門特化したコンサルティングサービスです。豊富な実績を元に、AR/MR技術を活用した新たな事業の立ち上げ支援や、社内業務のデジタル化/DX推進など、貴社の必要とするイノベーションを実現いたします。

ご相談から受け付けております。ご興味ございましたらお問い合わせください。


Xcode の Device Support に iOS 15.x を追加

以下に各バージョン毎のDevice Supportが用意されています。
必要なバージョンのDevice Supportをダウンロードしてください。

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport まで移動し、ダウンロード(ZIP解答したバージョン名のフォルダ)を移動したDeviceSupportのフォルダ配下に置きます。

7月27日時点ではiOS 15.6はありません。ひとつ前のiOS 15.5を置いてビルドを実施してください。それでもダメな場合は、iOS 15.5のフォルダ名をiOS15.6にリネームすると動作すると思います。

Build Settingsの編集

ビルドに成功しても以下のダイアログとエラーが表示されるときがあります。

Details

Unable to install "xxx"
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402620375
--
The code signature version is no longer supported.
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402620375
User Info: {
    DVTRadarComponentKey = 261622;
    MobileDeviceErrorCode = "(0xE8008029)";
    "com.apple.dtdevicekit.stacktrace" = (
	0   DTDeviceKitBase                     0x000000012309cc8f DTDKCreateNSErrorFromAMDErrorCode + 220
	1   DTDeviceKitBase                     0x00000001230db241 __90-[DTDKMobileDeviceToken installApplicationBundleAtPath:withOptions:andError:withCallback:]_block_invoke + 155
	2   DVTFoundation                       0x000000010736a64b DVTInvokeWithStrongOwnership + 71
	3   DTDeviceKitBase                     0x00000001230daf82 -[DTDKMobileDeviceToken installApplicationBundleAtPath:withOptions:andError:withCallback:] + 1440
	4   IDEiOSSupportCore                   0x0000000122f4ba10 __118-[DVTiOSDevice(DVTiPhoneApplicationInstallation) processAppInstallSet:appUninstallSet:installOptions:completionBlock:]_block_invoke.292 + 3513
	5   DVTFoundation                       0x000000010749917e __DVT_CALLING_CLIENT_BLOCK__ + 7
	6   DVTFoundation                       0x000000010749ada0 __DVTDispatchAsync_block_invoke + 1191
	7   libdispatch.dylib                   0x00007fff6d4bb6c4 _dispatch_call_block_and_release + 12
	8   libdispatch.dylib                   0x00007fff6d4bc658 _dispatch_client_callout + 8
	9   libdispatch.dylib                   0x00007fff6d4c1c44 _dispatch_lane_serial_drain + 597
	10  libdispatch.dylib                   0x00007fff6d4c25d6 _dispatch_lane_invoke + 363
	11  libdispatch.dylib                   0x00007fff6d4cbc09 _dispatch_workloop_worker_thread + 596
	12  libsystem_pthread.dylib             0x00007fff6d716a3d _pthread_wqthread + 290
	13  libsystem_pthread.dylib             0x00007fff6d715b77 start_wqthread + 15
);
}
--


System Information

macOS Version 10.15.7 (Build 19H1713)
Xcode 12.4 (17801) (Build 12D4e)
Timestamp: 2022-07-27T19:22:33+09:00

上記のエラーを回避する方法は、Build Settings→Signing の Other Code Signing Flags に 以下を追記します。

--generate-entitlement-der

上記の設定を全て行った後、Xcodeを再起動。その後、iOS 15.xのデバイスと接続してビルド&実行を行うと正常にインストールされ、アプリケーションも問題なく起動します。(起動に時間がかかる場合があります。

OnePlanet XR

OnePlanet XR はAR/MR技術に専門特化したコンサルティングサービスです。豊富な実績を元に、AR/MR技術を活用した新たな事業の立ち上げ支援や、社内業務のデジタル化/DX推進など、貴社の必要とするイノベーションを実現いたします。
ご相談から受け付けております。ご興味ございましたら弊社までお問い合わせください。(以下にアクセスするとお問い合わせページに遷移されます。)

OnePlanet Tech Magazine

スマホARやARグラスの技術記事を定期的に投稿してます。