「Unity/実機/iOS」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→ios14対応) |
(→ビルド時にErrors were encountered while preparing your device for development. Please check the Devices and Simulators Window. のエラーが出るとき) |
||
行86: | 行86: | ||
==ビルド時にErrors were encountered while preparing your device for development. Please check the Devices and Simulators Window. のエラーが出るとき== | ==ビルド時にErrors were encountered while preparing your device for development. Please check the Devices and Simulators Window. のエラーが出るとき== | ||
iPhone端末を再起動すればよい。 | iPhone端末を再起動すればよい。 | ||
+ | |||
+ | ==info.plistの言語を日本語にする== | ||
+ | ===手動設定する場合=== | ||
+ | info.plistの | ||
+ | CFBundleDevelopmentRegionをjaへ | ||
+ | CFBundleLocalizationsをjaへ | ||
+ | |||
+ | ==unityで自動で設定する場合=== | ||
+ | Assets/Editor/XcodeProjectUpdater.cs | ||
+ | <pre> | ||
+ | using UnityEngine; | ||
+ | using UnityEditor; | ||
+ | using UnityEditor.Callbacks; | ||
+ | using UnityEditor.iOS.Xcode; | ||
+ | using System.IO; | ||
+ | |||
+ | public class XcodeProjectUpdater | ||
+ | { | ||
+ | [PostProcessBuild] | ||
+ | static void OnPostprocessBuild(BuildTarget buildTarget, string path) | ||
+ | { | ||
+ | if (buildTarget != BuildTarget.iOS) return; | ||
+ | string plistPath = Path.Combine(path, "Info.plist"); | ||
+ | PlistDocument plist = new PlistDocument(); | ||
+ | plist.ReadFromFile(plistPath); | ||
+ | plist.root.SetString ("CFBundleDevelopmentRegion", "ja"); | ||
+ | plist.WriteToFile(plistPath); | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | 参考:https://kimizuka.hatenablog.com/entry/2018/09/27/201054 |
2021年2月8日 (月) 03:56時点における版
目次
- 1 iOS実機で動かす
- 2 No `Podfile' found in the project directory.エラー
- 3 Consider adding the following to ~/.profile: エラーの場合
- 4 After the failure, "pod repo update" was executed and succeeded. "pod install" was then attempted again, and still failed. エラーの場合
- 5 Bundle Identifier has not been set up correctly
- 6 Code Signing Error: Signing for "Unity-iPhone" requires a development team. Select a development team in the project editor.
- 7 Verify the Developer App certificate for your account is trusted on your device. Open Settings on and navigate to General -> Device Management, then select your Developer App certificate to trust it.
- 8 which may not be supported by this version of Xcode.エラー
- 9 "'autorelease' is unavailable: not available in automatic reference counting mode"エラーとなるとき
- 10 iosで"dyld_shared_cache_extract_dylibs failed"エラーとなる時
- 11 ios14対応
- 12 ビルド時にErrors were encountered while preparing your device for development. Please check the Devices and Simulators Window. のエラーが出るとき
- 13 info.plistの言語を日本語にする
- 14 unityで自動で設定する場合=
iOS実機で動かす
- File/BuildSettingsを選択
- iOSを選択
- OpenDownloadPageからプレイヤーをDL
- Edit/ProjectSetting/Playerを選択しPlayerSettingsを開く
- Inspector/端末マークタブ選択/OtherSetting
- Bundle Identifierの"com.company.ProjectName"を適宜変更する(デフォから変えないとbuild時にエラーとなる)
- File/BuildSettingsからbuildボタンを押しiPhone用のxcodeプロジェクトDir一式を作成する
- あとはxcodeプロジェクトを実機で動作させる方法と同じ
- 最新xcodeを起動する
- 縦向き・横向きで確認する
No `Podfile' found in the project directory.エラー
cocoapodsが入ってるか確認。
$ sudo gem update --system $ sudo gem install cocoapods $ pod setup > Setup completed
Consider adding the following to ~/.profile: エラーの場合
デフォだとja_JP.UTF-8になるっぽいのでutf8に変更してあげる
$ vi ~/.profile export LANG=en_US.UTF-8 $ source ~/.profile $ echo $LANG en_US.UTF-8
After the failure, "pod repo update" was executed and succeeded. "pod install" was then attempted again, and still failed. エラーの場合
xcodeのプロジェクトのdirに入って以下実行
$ pod repo update $ pod install
Bundle Identifier has not been set up correctly
- 上記のBundle Identifierがデフォルトの"com.company.ProjectName"だと起こるエラー。適宜変更する
Code Signing Error: Signing for "Unity-iPhone" requires a development team. Select a development team in the project editor.
- xcodeのgeneralのteamが選択されてない
- 実機の設定/一般/デバイス管理/アプリを許可する
which may not be supported by this version of Xcode.エラー
This iPhone 6 is running iOS 11.4.1 (15G77),
- 開発端末のxcodeの中身を確認する
$ cd ~/Library/Developer/Xcode/iOS\ DeviceSupport/ $ ls 10.0.2 (14A456) 10.3.1 (14E304)
もしくは
$ cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport $ ls 10.0 10.1 10.2
- https://github.com/iGhibli/iOS-DeviceSupport/tree/master/DeviceSupport から
- 上記どちか存在するDIRに11.4.1をいれてビルド、もしくはxcode再起動すれば良い。
- 11.4 (15F79) と 11.4 を入れたら動いた。
参考:https://qiita.com/_CHUBURA/items/ffd280e50ed623989045
This iPhone XS is running iOS 13.3 (17C54),
- こちらに ~/Library/Developer/Xcode/iOS\ DeviceSupport/
- https://github.com/iGhibli/iOS-DeviceSupport/tree/master/DeviceSupport
- 13.3 (17C54).zipを解凍して入れると良い。
target/BuildPhases/CopileSourcesの適用したいmmなどのファイルを選択して、以下をいれる。
-fno-objc-arc
macの容量が足りない可能性があるので、不要なファイルを消して容量を増やす。
参考:https://rils-k.hatenablog.com/entry/2019/03/03/002057
ios14対応
以下エラーが出るとき
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSUserTrackingUsageDescription key with a string value explaining to the user how the app uses this data.
以下をinfo.plistに追加
<key>NSUserTrackingUsageDescription</key> <string>Dummy</string>
ビルド時にErrors were encountered while preparing your device for development. Please check the Devices and Simulators Window. のエラーが出るとき
iPhone端末を再起動すればよい。
info.plistの言語を日本語にする
手動設定する場合
info.plistの CFBundleDevelopmentRegionをjaへ CFBundleLocalizationsをjaへ
unityで自動で設定する場合=
Assets/Editor/XcodeProjectUpdater.cs
using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode; using System.IO; public class XcodeProjectUpdater { [PostProcessBuild] static void OnPostprocessBuild(BuildTarget buildTarget, string path) { if (buildTarget != BuildTarget.iOS) return; string plistPath = Path.Combine(path, "Info.plist"); PlistDocument plist = new PlistDocument(); plist.ReadFromFile(plistPath); plist.root.SetString ("CFBundleDevelopmentRegion", "ja"); plist.WriteToFile(plistPath); } }