iOSゲーム開発 – トラブルシューティング

現在内容修正中です。

PCにiOSデバイスを接続しても反応しない

ケーブルの接続を確認する

Apple純正のUSBケーブルは非常に断線しやすいため、別のケーブルがあればそちらで試してみてください。

デバイスドライバを更新する(Windowsのみ)

デバイスマネージャーを開き、[Apple Mobile Device USB Driver]を探します。

[Apple Mobile Deice USB Driver]にマークがついている場合がある

こちらの記事を参考にデバイスドライバを更新すると、iOSデバイスが反応する可能性があります。

WindowsでC++プロジェクトが作成できない

必要なコンポーネントがインストールされているか確認する

Visual Studioをインストールする際に、追加でオプションをインストールする必要があります。

Visual Studioをインストールした際のexeファイルが手元にない場合は再度ダウンロードしてきてください。

少なくとも以下のオプションは必要です。

  • .NET テスクトップ開発
  • C++によるデスクトップ開発
  • C++によるゲーム開発
  • Windows 8.1 SDK(最新版では不要だったはず)

※抜けがありましたらご指摘ください。

プロジェクト設定でプロビジョニング プロファイルがValidにならない

Apple Developer Program登録直後はしばらく待ってみる

Apple Developer Programに登録した直後は、開発証明書やプロビジョニング プロファイルが正しかったとして も No Valid Certificate Found のままになってしまうことがあります。

きちんと設定出来ていれば、表示がこの状態でもiOS実機で動作させることが可能です。

Valid に表示が変わるには翌日まで待つ必要があることもあるそうです。

開発証明書(.cer)ファイルをインポートしたのに使えない

別のPCで生成した開発証明書(.cer)ファイルをインポートした場合、キーチェーン上やUE4のプロジェクト設定上では有効であるかのように表示されます。

しかし、プロビジョニング プロファイルの方はInValidの表示になっています。

この状態でiOSデバイスをターゲットにして起動しようとしても、エラーが出力されます。

開発証明書の状態は、XcodeのPreferenceから確認することができます。

Xcodeを起動し、メニューから[Xcode]>[Preferences…]>[Accounts]を選択し、アカウントを選択した状態で右下の[Manage Certificates…]を選択します。

[Status] が Missing Private Key と表示されています。

結論としては、開発証明書(.cer)のみをインポートした場合、秘密鍵が手元にないため実際に使用して通信することができません。

これを解決するには、個人情報交換ファイル(.p12)という秘密鍵を含んだファイルが必要となります。こちらを参考に対応してください。

もし利用できない開発証明書を登録してしまった場合は、こちらを参考に削除してください。

リモートビルドが成功しない

エラーその1 : Permissions 0660 for ... are too open.

エラー内容としてはMacにリモートで接続するための秘密鍵のパーミッションが正しくないと怒られています。
(参考:Chmodding RemoteToolChainPrivate.key for iOS remote builds – UE4 AnswerHub
修正方法はこちらをご確認ください。

エラーその2 : Output = Permission denied (publickey,password,keyboard-interactive). (4.21.1修正済)
LogPlayLevel: ********** BUILD COMMAND STARTED **********
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 1.763970
LogPlayLevel: Running: C:\Program Files\Epic Games\UE_4.20\Engine\Binaries\DotNET\UnrealBuildTool.exe Test4_20 IOS Development -Project=E:\Test4_20\Test4_20.uproject  E:\Test4_20\Test4_20.uproject -NoUBTMakefiles  -remoteini="E:\Test4_20" -skipdeploy -ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=Disabled -noxge -generatema
nifest -NoHotReload -log="C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.20\UBT-Test4_20-IOS-Development.txt"
LogPlayLevel:   Picking the default remote server Wanchan-Mac
LogPlayLevel:   Doing date +"%s" && sysctl hw.memsize | awk '{print $2}' && sysctl hw.logicalcpu | awk '{print $2}'
LogPlayLevel:   Execute took 00:00:00.2149971
LogPlayLevel:   ERROR: Failed to run init commands on remote server Wanchan-Mac. Output = Permission denied (publickey,password,keyboard-interactive).
LogPlayLevel:          (see C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.20\UBT-Test4_20-IOS-Development.txt for full exception trace)
LogPlayLevel: Took 1.6399809s to run UnrealBuildTool.exe, ExitCode=5
LogPlayLevel: ERROR: UnrealBuildTool failed. See log for more details. (C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.20\UBT-Test4_20-IOS-Development.txt)
LogPlayLevel:        (see C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.20\Log.txt for full exception trace)
LogPlayLevel: AutomationTool exiting with ExitCode=5 (5)
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 1.254058
LogPlayLevel: BUILD FAILED
PackagingResults: Error: デプロイに失敗しました! Unknown Error

「Permission denied (publickey,password,keyboard-interactive).」の原因はいくつか考えられますが、その中で私がハマったものを紹介します。

WinからMacへリモートビルドを行うために、事前に[プロジェクト設定] -> [iOS] -> [Build] -> [Remote Build Options] にてリモートビルドのセットアップを行いますが、[新規SSHキーを生成]する際に、リモート先のMacのOpenSSHのssh-keygenを使用して秘密鍵を生成します。
しかしMacのOSバージョンが 10.14 Mojave 以上の場合、OpenSSHのバージョンが7.8になり、ssh-keygenで使用する秘密鍵のデフォルト形式がPEM形式からOpenSSH形式に変更されたようで、これはUE4が使用しているDeltaCopyのバージョン5.1には対応していません。このため、上記のエラーが発生します。
(参考:OpenSSH 7.8p1 での変更点のまとめ
これは[新規SSHキーを生成]をMojave以前のOSでしていても、その後にMojaveにアップデートして新たに[新規SSHキーを生成]をし直してしまうと発生するはずです。

この不具合はUE4の4.21.1にて修正済みです。もし発生する場合は、4.21.1以降のバージョンで再度[新規SSHキーを生成]を実行してください。

記録として手動での修正方法を下記に残しておきます。


根本対応としてはUE4付属のDeltaCopyで使用しているOpenSSHをOpenSSH形式の秘密鍵に対応したバージョンまで引き上げることですが、とりあえず簡単にできる暫定対応として、Mac側にssh-keygenをリクエストする際に、オプションをつけてPEM形式で秘密鍵を生成してもらうようにします。

UE4の下記のフォルダにある MakeAndInstallSSHKey.bat を編集します。
C:\Program Files\Epic Games\UE_4.xx\Engine\Build\BatchFiles\MakeAndInstallSSHKey.bat

%SSH% -p %SSHPORT% "%USER%@%MACHINE%" "if [[ ! -e .ssh ]]; then mkdir .ssh; fi && cd .ssh && if [[ -e authorized_keys ]]; then cp -f authorized_keys authorized_keys_UEBackup; fi && ssh-keygen -t rsa -f RemoteToolChain -m PEM && mv -f RemoteToolChain.pub RemoteToolChainPublic.key && mv -f RemoteToolChain RemoteToolChainPrivate.key && cat RemoteToolChainPublic.key >> authorized_keys";

36行目の後ろの方に ssh-keygen を呼び出している箇所がありますので、引数に -m PEM というオプションを追記します。
その後、改めて[プロジェクト設定]から[新規SSHキーを生成]を実行して、PEM形式の秘密鍵を作り直すことで、このエラーは解消されます。

エラーその3 : Unable to determine home directory for remote user
LogPlayLevel: ********** BUILD COMMAND STARTED **********
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 3.020741
LogPlayLevel: Running: C:\Program Files\Epic Games\UE_4.21\Engine\Binaries\DotNET\UnrealBuildTool.exe FinalTest IOS Development -Project=E:\FinalTest\FinalTest.uproject  E:\FinalTest\FinalTest.uproject -NoUBTMakefiles  -remoteini="E:\FinalTest" -skipdeploy -ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=Disabled -Manifest=E:
\FinalTest\Intermediate\Build\Manifest.xml -NoHotReload -log="C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.21\UBT-FinalTest-IOS-Development.txt"
LogPlayLevel:   [Remote] Using remote server 'Wanchan-Mac' on port 22 (user 'wanchan')
LogPlayLevel: Error:   ERROR: Unable to determine home directory for remote user
LogPlayLevel:          (see C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.21\UBT-FinalTest-IOS-Development.txt for full exception trace)
LogPlayLevel: Took 1.323003s to run UnrealBuildTool.exe, ExitCode=5
LogPlayLevel: Error: ERROR: UnrealBuildTool failed. See log for more details. (C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.21\UBT-FinalTest-IOS-Development.txt)
LogPlayLevel:        (see C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.21\Log.txt for full exception trace)
LogPlayLevel: AutomationTool exiting with ExitCode=5 (5)
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 1.003527
LogPlayLevel: BUILD FAILED
PackagingResults: Error: デプロイに失敗しました! Unknown Error

UE4の4.21から、秘密鍵周りのエラーがこの文言に集約されてしまったようです。
上記のエラー1、エラー2の原因が当てはまる可能性が高いので、そちらを試してみてください。

エラーその4 : Mac側にXcodeがインストールされていない
LogPlayLevel: Compiling with non-standard Xcode (xcode-select): xcode-select: error: unable to get active developer directory, use `sudo xcode-select --switch path/to/Xcode.app` to set one (or see `man xcode-select`)/
LogPlayLevel: Doing ls xcode-select: error: unable to get active developer directory, use `sudo xcode-select --switch path/to/Xcode.app` to set one (or see `man xcode-select`)/Platforms/iPhoneOS.platform/Developer/SDKs
LogPlayLevel: Execute took 00:00:00.2409961
LogPlayLevel: Triggered an exception while looking for SDK directory in Xcode.app
LogPlayLevel: System.ArgumentException: �p�X�ɖ����ȕ������܂܂�Ă��܂��B
LogPlayLevel: �ꏊ System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
LogPlayLevel: �ꏊ System.IO.Path.GetFileName(String path)
LogPlayLevel: �ꏊ System.IO.Path.GetFileNameWithoutExtension(String path)
LogPlayLevel: �ꏊ UnrealBuildTool.AppleToolChainSettings.SelectSDK(String BaseSDKDir, String OSPrefix, String& PlatformSDKVersion, Boolean bVerbose)
LogPlayLevel: Compiling with iPhoneOS SDK on Mac Wanchan-Mac
LogPlayLevel: ERROR: System.FormatException: ���͕�����̌`��������������܂���B
LogPlayLevel: �ꏊ System.Number.ParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt)
LogPlayLevel: �ꏊ System.Single.Parse(String s, IFormatProvider provider)
LogPlayLevel: �ꏊ UnrealBuildTool.IOSToolChainSettings..ctor(String DevicePlatformName, String SimulatorPlatformName)
LogPlayLevel: �ꏊ UnrealBuildTool.IOSToolChainSettings..ctor()
LogPlayLevel: �ꏊ UnrealBuildTool.IOSToolChain.<>c.<.ctor>b__1_0()
LogPlayLevel: �ꏊ System.Lazy`1.CreateValue()
LogPlayLevel: �ꏊ System.Lazy`1.LazyInitValue()
LogPlayLevel: �ꏊ UnrealBuildTool.IOSToolChain.ModifyBuildProducts(ReadOnlyTargetRules Target, UEBuildBinary Binary, List`1 Libraries, List`1 BundleResources, Dictionary`2 BuildProducts)
LogPlayLevel: �ꏊ UnrealBuildTool.UEBuildBinary.GetBuildProducts(ReadOnlyTargetRules Target, UEToolChain ToolChain, Dictionary`2 BuildProducts, Boolean bCreateDebugInfo)
LogPlayLevel: �ꏊ UnrealBuildTool.UEBuildTarget.PrepareReceipts(UEToolChain ToolChain, Boolean bCreateDebugInfo, EHotReload HotReload)
LogPlayLevel: �ꏊ UnrealBuildTool.UEBuildTarget.Build(BuildConfiguration BuildConfiguration, CPPHeaders Headers, List`1 OutputItems, List`1 UObjectModules, ISourceFileWorkingSet WorkingSet, ActionGraph ActionGraph, EHotReload HotReload)
LogPlayLevel: �ꏊ UnrealBuildTool.UnrealBuildTool.RunUBT(BuildConfiguration BuildConfiguration, String[] Arguments, FileReference ProjectFile, Boolean bCatchExceptions)
LogPlayLevel: Took 2.4989677s to run UnrealBuildTool.exe, ExitCode=5
LogPlayLevel: ERROR: Command failed (Result:5): C:\Program Files\Epic Games\UE_4.19\Engine\Binaries\DotNET\UnrealBuildTool.exe iOSWinCpp IOS Development -Project=D:\wanchan\UnrealProjects\iOSWinCpp\iOSWinCpp.uproject D:\wanchan\UnrealProjects\iOSWinCpp\iOSWinCpp.uproject -NoUBTMakefiles -remoteini="D:\wanchan\UnrealProjects\iOSWinCpp" -skipdeploy -ini:Game
:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=Disabled -noxge -generatemanifest -NoHotReload. See logfile for details: 'UnrealBuildTool-2018.05.19-06.13.48.txt'
LogPlayLevel: (see C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.19\UAT_Log.txt for full exception trace)
LogPlayLevel: AutomationTool exiting with ExitCode=5 (5)
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 2.007986
LogPlayLevel: BUILD FAILED
PackagingResults: Error: Deployment failed! Unknown Error

Mac側でXCodeがインストールされてないとこのようなエラーが出力されます。XCodeの最新版をインストールしてください。

エラーその5 : iOSデバイスが接続されていない
LogPlayLevel: [DD] Trying to connect to mobile device running iOS ...
LogPlayLevel: [DD] Error: Timed out while trying to connect to a mobile device. Make sure one is connected.
LogPlayLevel: Exiting.
LogPlayLevel: Took 7.1286866s to run DeploymentServer.exe, ExitCode=1
LogPlayLevel: ERROR: Command failed (Result:1): C:\Program Files\Epic Games\UE_4.19\Engine\Binaries\DotNET\IOS\DeploymentServer.exe Install -ipa "D:\wanchan\UnrealProjects\iOSWinCpp\Binaries\IOS\iOSWinCpp.ipa" -device All_iOS_On_WANCHAN-PC -additionalcommandline "-SessionId=C1E337F04EFBACFDA65A0690A8111E81 -SessionOwner="wanch" -SessionName="Launch On Device
" ". See logfile for details: 'DeploymentServer-2018.05.19-07.01.42.txt'
LogPlayLevel: (see C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.19\UAT_Log.txt for full exception trace)
LogPlayLevel: AutomationTool exiting with ExitCode=1 (Error_Unknown)
LogPlayLevel: Completed Launch On Stage: Deploy Task, Time: 21.070055
LogPlayLevel: BUILD FAILED
PackagingResults: Error: Deployment failed! Unknown Error

これはログを見ればすぐわかると思います。ただ、iPhoneの純正ケーブルはすぐ接触が悪くなるので、接続しているつもりでも正しく通信出来ていないことがあるかもしれません。

エラーその6 :Xcode上でApple IDが正しく設定されていない
LogPlayLevel: IPP ERROR: RPCCommand MakeApp failed with return code Error_RemoteCertificatesNotFound
LogPlayLevel: ... remove temporary key chain
LogPlayLevel: Using signing identity 'iPhone Developer: Tomoya Ito (**********)'
LogPlayLevel: ... working folder: "/Users/Wanchan/UE4/Builds/WANCHAN-PC/D/wanchan/UnrealProjects/iOSWinCpp/Binaries/IOS/XcodeSupportFiles/.."
LogPlayLevel: ... security list-keychains -s "$HOME/Library/Keychains/login.keychain" && security delete-keychain "$HOME/Library/Keychains/UE4TempKeychain.keychain"
LogPlayLevel: ... full command: Wanchan-Mac "/Users/Wanchan/UE4/Builds/WANCHAN-PC/D/wanchan/UnrealProjects/iOSWinCpp/Binaries/IOS/XcodeSupportFiles/.." security list-keychains -s "$HOME/Library/Keychains/login.keychain" && security delete-keychain "$HOME/Library/Keychains/UE4TempKeychain.keychain"
LogPlayLevel: Running SSH on Wanchan-Mac ...
LogPlayLevel: Execute took 00:00:00.3109947
LogPlayLevel: Finished creating .app directory on Mac (took 16.40 s)
LogPlayLevel: ... zipping
LogPlayLevel: ... working folder: "/Users/Wanchan/UE4/Builds/WANCHAN-PC/D/wanchan/UnrealProjects/iOSWinCpp/Binaries/IOS"
LogPlayLevel: ... zip -q -r -y -0 -T iOSWinCpp.ipa Payload iTunesArtwork -x Payload/iOSWinCpp.app.dSYM/ -x Payload/iOSWinCpp.app.dSYM/* -x Payload/iOSWinCpp.app.dSYM/Contents/ -x Payload/iOSWinCpp.app.dSYM/Contents/* -x Payload/iOSWinCpp.app.dSYM/Contents/Resources/ -x Payload/iOSWinCpp.app.dSYM/Contents/Resources/* -x Payload/iOSWinCpp.app.dSYM/Contents
/Resources/DWARF/ -x Payload/iOSWinCpp.app.dSYM/Contents/Resources/DWARF/*
LogPlayLevel: ... full command: Wanchan-Mac "/Users/Wanchan/UE4/Builds/WANCHAN-PC/D/wanchan/UnrealProjects/iOSWinCpp/Binaries/IOS" zip -q -r -y -0 -T iOSWinCpp.ipa Payload iTunesArtwork -x Payload/iOSWinCpp.app.dSYM/ -x Payload/iOSWinCpp.app.dSYM/* -x Payload/iOSWinCpp.app.dSYM/Contents/ -x Payload/iOSWinCpp.app.dSYM/Contents/* -x Payload/iOSWinCpp.app.dS
YM/Contents/Resources/ -x Payload/iOSWinCpp.app.dSYM/Contents/Resources/* -x Payload/iOSWinCpp.app.dSYM/Contents/Resources/DWARF/ -x Payload/iOSWinCpp.app.dSYM/Contents/Resources/DWARF/*
LogPlayLevel: Running SSH on Wanchan-Mac ...
LogPlayLevel: Execute took 00:00:01.2049850
LogPlayLevel: IPP WARNING: Error in previous command; suppressing: GetStubIPA
LogPlayLevel: Finished packaging into IPA (took 1.20 s)
LogPlayLevel: ERROR: System.Exception: ** BUILD FAILED **IPP ERROR: RPCCommand MakeApp failed with return code Error_RemoteCertificatesNotFound
LogPlayLevel: �ꏊ UnrealBuildTool.IOSToolChain.PostBuildSync(UEBuildTarget Target)
LogPlayLevel: �ꏊ UnrealBuildTool.IOSPlatform.PostBuildSync(UEBuildTarget Target)
LogPlayLevel: �ꏊ UnrealBuildTool.UnrealBuildTool.RunUBT(BuildConfiguration BuildConfiguration, String[] Arguments, FileReference ProjectFile, Boolean bCatchExceptions)
LogPlayLevel: Total build time: 104.12 seconds (Remote executor: 2.43 seconds)
LogPlayLevel: Took 104.3576263s to run UnrealBuildTool.exe, ExitCode=57
LogPlayLevel: ERROR: Command failed (Result:57): C:\Program Files\Epic Games\UE_4.19\Engine\Binaries\DotNET\UnrealBuildTool.exe iOSWinCpp IOS Development -Project=D:\wanchan\UnrealProjects\iOSWinCpp\iOSWinCpp.uproject D:\wanchan\UnrealProjects\iOSWinCpp\iOSWinCpp.uproject -NoUBTMakefiles -remoteini="D:\wanchan\UnrealProjects\iOSWinCpp" -skipdeploy -ini:Gam
e:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=Disabled -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2018.05.19-07.05.30.txt'
LogPlayLevel: (see C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.19\UAT_Log.txt for full exception trace)
LogPlayLevel: AutomationTool exiting with ExitCode=57 (Error_RemoteCertificatesNotFound)
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 106.632136
LogPlayLevel: BUILD FAILED
PackagingResults: Error: Deployment failed! Failed to sign executable. Make sure your developer certificates have been installed in the System Keychain on the remote Mac.

MacのXcode側でApple IDアカウントが正しくセットアップされていません。Xcodeを起動して、メニューの[Xcode]->[Preferences]->[Accounts]からApple IDアカウントを正しく入力し直してください。

エラーその7 : rsync errorと表示される
LogPlayLevel: Compiling with iPhoneOS SDK 11.3 on Mac Wanchan-Mac
LogPlayLevel: ssh: connect to host Wanchan-Mac port 22: Connection timed out
LogPlayLevel: rsync: connection unexpectedly closed (0 bytes received so far) [sender]
LogPlayLevel: rsync error: error in rsync protocol data stream (code 12) at /home/lapo/packaging/rsync-3.0.4-1/src/rsync-3.0.4/io.c(632) [sender=3.0.4]
LogPlayLevel: LocalExe: iOSWinCpp
LogPlayLevel: Doing rm -f /Users/Wanchan/UE4/Builds/WANCHAN-PC/D/wanchan/UnrealProjects/iOSWinCpp/Binaries/IOS/AssetCatalog/Assets.car
LogPlayLevel: Execute took 00:00:21.1004939
LogPlayLevel: Command: -vzrltgoDe "ssh -i '/cygdrive/C/Users/wanch/AppData/Roaming/Unreal Engine/UnrealBuildTool/SSHKeys/Wanchan-Mac/Wanchan/RemoteToolChainPrivate.key' -p 22" --rsync-path="mkdir -p /Users/Wanchan/UE4/Builds/WANCHAN-PC && rsync" --chmod=ug=rwX,o=rxX --delete --files-from="/cygdrive/C/Users/wanch/AppData/Local/Temp/tmp5591.tmp" --include-fr
om="/cygdrive/C/Users/wanch/AppData/Local/Temp/tmp5592.tmp" --include='*/' --exclude='*.o' --exclude='Timestamp' '/cygdrive' "Wanchan@Wanchan-Mac":'/Users/Wanchan/UE4/Builds/WANCHAN-PC'
LogPlayLevel: ssh: Could not resolve hostname Wanchan-Mac: no address associated with name
LogPlayLevel: rsync: connection unexpectedly closed (0 bytes received so far) [sender]
LogPlayLevel: rsync error: error in rsync protocol data stream (code 12) at /home/lapo/packaging/rsync-3.0.4-1/src/rsync-3.0.4/io.c(632) [sender=3.0.4]
LogPlayLevel: ssh: Could not resolve hostname Wanchan-Mac: no address associated with name
LogPlayLevel: rsync: connection unexpectedly closed (0 bytes received so far) [sender]
LogPlayLevel: rsync error: error in rsync protocol data stream (code 12) at /home/lapo/packaging/rsync-3.0.4-1/src/rsync-3.0.4/io.c(632) [sender=3.0.4]
LogPlayLevel: Doing sh tmp5F48.tmp.sh && rm tmp5F48.tmp.sh
LogPlayLevel: Execute took 00:00:02.3260297
LogPlayLevel: BatchFileInfo took 00:00:04.7609653
LogPlayLevel: ERROR: Received the wrong number of results from BatchFileInfo
LogPlayLevel: Took 57.0910162s to run UnrealBuildTool.exe, ExitCode=5
LogPlayLevel: ERROR: Command failed (Result:5): C:\Program Files\Epic Games\UE_4.19\Engine\Binaries\DotNET\UnrealBuildTool.exe iOSWinCpp IOS Development -Project=D:\wanchan\UnrealProjects\iOSWinCpp\iOSWinCpp.uproject D:\wanchan\UnrealProjects\iOSWinCpp\iOSWinCpp.uproject -NoUBTMakefiles -remoteini="D:\wanchan\UnrealProjects\iOSWinCpp" -skipdeploy -ini:Game
:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=Disabled -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2018.05.19-07.51.54.txt'
LogPlayLevel: (see C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.19\UAT_Log.txt for full exception trace)
LogPlayLevel: AutomationTool exiting with ExitCode=5 (5)
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 59.204475
LogPlayLevel: BUILD FAILED
PackagingResults: Error: Deployment failed! Unknown Error

リモート先のMacの電源が入っていなかったり、スリープになっていたり、ディスプレイの蓋が閉まっている可能性があります。

エラーその8 : IPP ERRORと表示される
UATHelper: Packaging (iOS): IPP ERROR: Application exception: System.Security.Cryptography.CryptographicException: Keyset does not exist
UATHelper: Packaging (iOS): 
UATHelper: Packaging (iOS): at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
UATHelper: Packaging (iOS): at System.Security.Cryptography.X509Certificates.X509Utils._ExportCertificatesToBlob(SafeCertStoreHandle safeCertStoreHandle, X509ContentType contentType, IntPtr password)
UATHelper: Packaging (iOS): at System.Security.Cryptography.X509Certificates.X509Certificate.ExportHelper(X509ContentType contentType, Object password)
UATHelper: Packaging (iOS): at iPhonePackager.CompileTime.CopyFilesNeededForMakeApp()
UATHelper: Packaging (iOS): at iPhonePackager.CompileTime.CreateApplicationDirOnMac()
UATHelper: Packaging (iOS): at iPhonePackager.CompileTime.PackageIPAOnMac()
UATHelper: Packaging (iOS): at iPhonePackager.Program.Main(String[] args)
UATHelper: Packaging (iOS): ERROR: System.Exception: IPP ERROR: Application exception: System.Security.Cryptography.CryptographicException: Keyset does not exist
UATHelper: Packaging (iOS): at UnrealBuildTool.IOSToolChain.PostBuildSync(UEBuildTarget Target)
UATHelper: Packaging (iOS): at UnrealBuildTool.IOSPlatform.PostBuildSync(UEBuildTarget Target)
UATHelper: Packaging (iOS): at UnrealBuildTool.UnrealBuildTool.RunUBT(BuildConfiguration BuildConfiguration, String[] Arguments, FileReference ProjectFile, Boolean bCatchExceptions)
UATHelper: Packaging (iOS): Total build time: 275.78 seconds (Remote executor: 25.19 seconds)
UATHelper: Packaging (iOS): Took 276.0377943s to run UnrealBuildTool.exe, ExitCode=1
UATHelper: Packaging (iOS): ERROR: Command failed (Result:1): C:\Program Files\Epic Games\UE_4.19\Engine\Binaries\DotNET\UnrealBuildTool.exe Labyrinth IOS Development -Project=D:\wanchan\UnrealProjects\Labyrinth\trunk\Labyrinth\Labyrinth.uproject D:\wanchan\UnrealProjects\Labyrinth\trunk\Labyrinth\Labyrinth.uproject -NoUBTMakefiles -remoteini="D:\wanchan\U
nrealProjects\Labyrinth\trunk\Labyrinth" -skipdeploy -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2018.05.16-21.26.51.txt'
UATHelper: Packaging (iOS): (see C:\Users\wanch\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.19\UAT_Log.txt for full exception trace)
UATHelper: Packaging (iOS): AutomationTool exiting with ExitCode=1 (Error_Unknown)
UATHelper: Packaging (iOS): BUILD FAILED
PackagingResults: Error: Application exception: System.Security.Cryptography.CryptographicException: Keyset does not exist
PackagingResults: Error: System.Exception: IPP ERROR: Application exception: System.Security.Cryptography.CryptographicException: Keyset does not exist
PackagingResults: Error: Command failed (Result:1): C:\Program Files\Epic Games\UE_4.19\Engine\Binaries\DotNET\UnrealBuildTool.exe Labyrinth IOS Development -Project=D:\wanchan\UnrealProjects\Labyrinth\trunk\Labyrinth\Labyrinth.uproject D:\wanchan\UnrealProjects\Labyrinth\trunk\Labyrinth\Labyrinth.uproject -NoUBTMakefiles -remoteini="D:\wanchan\UnrealProje
cts\Labyrinth\trunk\Labyrinth" -skipdeploy -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2018.05.16-21.26.51.txt'
PackagingResults: Error: Unknown Error

とてもわかりにくいエラーで、日本語環境だとエラーログも文字化けしてしまうので何のことかわかりにくいです。文字化けしていない状態のエラーログにはKeyset does not existと表示され、秘密鍵周りで何かが存在しないと言われていることがわかります。

この場合、以下のフォルダのアクセス権限を確認してください。
C:\ProgramData\Microsoft\Crypto

重要なのはこのフォルダ以下の RSA\MachineKeys のフォルダで、その中に必要なファイルが存在しているはずが、フォルダのアクセス権が間違っているとファイルが空っぽになってしまいます。

Cryptoのプロパティを開き、[セキュリティ]->[詳細設定]を開き、アクセス許可を以下のように書き換えます。

その後、UE4のProject SettingsからCertificateファイルのインポートをやり直すことで、秘密鍵のファイルが正しくコピーされます。

(参考:Resolve Cryptographic Exception ‘Keyset Does Not Exist or Access is Denied issue’

エラーその9 : Wrong server running, restarting the server(4.22.1修正済)
LogPlayLevel: Running: D:\UE4\Engine\Binaries\DotNET\IOS\DeploymentServer.exe Deploy -manifest "D:\labyrinth\trunk\Labyrinth\Saved\StagedBuilds\IOS\Manifest_DeltaUFSFiles_000000000000000000000000.txt" -device 00000000-0000000000000000 -additionalcommandline "-SessionId=00000000000000000000000000000000 -SessionOwner="wanch" -SessionName="Launch On Device"  " -bundle com.soramame.labyrinth
LogPlayLevel:   Wrong server running, restarting the server ...
LogPlayLevel: 
LogPlayLevel:   Exception: System.NullReferenceException: �I�u�W�F�N�g�Q�Ƃ��I�u�W�F�N�g �C���X�^���X�ɐݒ肳��Ă��܂���B
LogPlayLevel:      �ꏊ DeploymentServer.Program.ClientLoop(TcpClient IsServiceRunning, String[] Args, String LocalCommand) �ꏊ D:\UE4\Engine\Source\Programs\IOS\DeploymentServer\Program.cs:�s 984
LogPlayLevel: Took 5.7668751s to run DeploymentServer.exe, ExitCode=0
LogPlayLevel: ********** DEPLOY COMMAND COMPLETED **********
LogPlayLevel: ********** RUN COMMAND STARTED **********
LogPlayLevel: Starting Client....
LogPlayLevel: Launching via UFE:
LogPlayLevel: 	ClientCmdLine: -run=Launch -Device=IOS@00000000-0000000000000000 -Exe="D:\labyrinth\trunk\Labyrinth\Saved\StagedBuilds\IOS\Labyrinth\Binaries\IOS\Labyrinth" -Targetplatform=IOS -Params="../../../Labyrinth/Labyrinth.uproject /Game/Labyrinth/Maps/Stage00/Stage00_P -stdout -Messaging -CrashForUAT -SessionId=00000000000000000000000000000000 -SessionOwner="wanch" -SessionName="Launch On Device"  "
LogPlayLevel: ********** RUN COMMAND COMPLETED **********
LogPlayLevel: BUILD SUCCESSFUL
LogPlayLevel: Completed Launch On Stage: Deploy Task, Time: 36.886334
LogPlayLevel: Completed Launch On Stage: Run Task, Time: 0.000797
LogPlayLevel: AutomationTool exiting with ExitCode=0 (Success)

ビルドが成功しているように見えて、よく見ると途中でエラーが吐かれていてゲームアプリが転送できていません。
4.22.0でのみ発生するバグで、パス文字列の操作に不具合があるためです。

この不具合は4.22.1で修正済みです。

エラーその10 : 指定された状態で使用するには無効なキーです。
LogPlayLevel:   Executing command 'ExportCertificate' '' ...
LogPlayLevel:     Looking for a certificate that matches the application identifier '0123456789.com.soramame.labyrinth'
LogPlayLevel:     .. Provision entry SN '0123456789012345' matched 1 installed certificate(s)
LogPlayLevel:     .. .. Installed certificate 'iPhone Developer: xxxxxxx (0123456789)' is valid (choosing it) (range '2018/11/05 11:40:59' to '2019/11/05 11:40:59')
LogPlayLevel: Error:   IPP ERROR: Error while executing command: System.Security.Cryptography.CryptographicException: 指定された状態で使用するには無効なキーです。
LogPlayLevel:      場所 System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
LogPlayLevel:      場所 System.Security.Cryptography.X509Certificates.X509Utils._ExportCertificatesToBlob(SafeCertStoreHandle safeCertStoreHandle, X509ContentType contentType, IntPtr password)
LogPlayLevel:      場所 System.Security.Cryptography.X509Certificates.X509Certificate.ExportHelper(X509ContentType contentType, Object password)
LogPlayLevel:      場所 iPhonePackager.CompileTime.ExportCertificate() 場所 D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\IOS\iPhonePackager\CompileTime.cs:行 237
LogPlayLevel:      場所 iPhonePackager.CompileTime.ExecuteCompileCommand(String Command, String RPCCommand) 場所 D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\IOS\iPhonePackager\CompileTime.cs:行 749
LogPlayLevel:      場所 iPhonePackager.Program.ExecuteCommand(String Command, String RPCCommand) 場所 D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\IOS\iPhonePackager\iPhonePackager.cs:行 564
LogPlayLevel: Error:   ERROR: IphonePackager failed.
LogPlayLevel: Took 1.3438376s to run UnrealBuildTool.exe, ExitCode=5
LogPlayLevel: Error: ERROR: UnrealBuildTool failed. See log for more details. (C:\Users\Wanchan\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.22\UBT-CppTest-IOS-Development.txt)
LogPlayLevel:        (see C:\Users\Wanchan\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE_4.22\Log.txt for full exception trace)
LogPlayLevel: AutomationTool exiting with ExitCode=5 (5)
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 0.751477
LogPlayLevel: BUILD FAILED
PackagingResults: Error: Launch failed! Unknown Error

「指定された状態で使用するには無効なキーです。」という表記が特徴的なこのエラーは、上記の その8 のエラーと同様のもので、最近のUE4のバージョンだとこのように表示されます。Windowsを新規インストールした際などによく発生するようです。

エラーその11 : IPP ERROR: Failed to find stub IPA。
LogPlayLevel:   Executing command 'Clean' ...
LogPlayLevel:   Cleaning temporary files from PC ...
LogPlayLevel:    ... cleaning: D:\labyrinth\master\project\trunk\Labyrinth\Intermediate\IOS-Deploy\LabyrinthMaster\Development\
LogPlayLevel: Error:   IPP ERROR: Failed to find stub IPA 'D:\labyrinth\master\project\trunk\Labyrinth\Binaries\IOS\LabyrinthMaster.stub'
LogPlayLevel: Took 0.0747991s to run IPhonePackager.exe, ExitCode=1
LogPlayLevel: Command failed (Result:1): C:\Program Files\Epic Games\UE_4.23\Engine\Binaries\DotNET\IOS\IPhonePackager.exe RepackageFromStage "D:\labyrinth\master\project\trunk\Labyrinth\LabyrinthMaster.uproject" -config Development -schemename LabyrinthMaster -schemeconfig "Development" -sign -codebased -stagedir "D:\labyrinth\master\project\trunk\Labyrinth
\Saved\StagedBuilds\IOS" -project "D:\labyrinth\master\project\trunk\Labyrinth\LabyrinthMaster.uproject" -iterate -provision "Labyrinth.mobileprovision" -certificate "iPhone Developer: Tomoya Ito (NNKBPY85V5)". See logfile for details: 'IPhonePackager-2019.11.15-10.32.33.txt'
LogPlayLevel: AutomationTool exiting with ExitCode=1 (Error_Unknown)
LogPlayLevel: Completed Launch On Stage: Deploy Task, Time: 7.767157
LogPlayLevel: BUILD FAILED
PackagingResults: Error: デプロイに失敗しました! Unknown Error

生成されたstub形式のファイルとプロジェクト名が一致しないと発生される不具合のようです。

私の場合、LabyrinthMasterというUE4プロジェクトを作って、Labyrinthというプロビジョニングファイルを使ってビルドした際に発生しました。

エンジンのソースコードを見てみると、どうやら .uproject のファイル名が使われるようなので、あきらめてUE4プロジェクト名をあわせるか、エンジンコードを変更する必要があります。(他の設定で対応可能でしたら教えてください!)

iOS実機でアプリが起動できない

起動しても画面が真っ暗のまま

(調査中)

起動時にエラーが表示される

iOSを更新したのにアプリが古い可能性があります。UE4でIPAを作成し直すと起動できるようになるかもしれません。(調査中)