「Cordova/helloworld」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→NSInternalInconsistencyExceptionが起こるとき) |
|||
(同じ利用者による、間の11版が非表示) | |||
行1: | 行1: | ||
==プロジェクト作成== | ==プロジェクト作成== | ||
− | cordova create | + | cordova create hello com.example.helloworld helloworld |
− | cd | + | cd hello |
==プラットフォーム追加== | ==プラットフォーム追加== | ||
行117: | 行117: | ||
===NSInternalInconsistencyExceptionが起こるとき=== | ===NSInternalInconsistencyExceptionが起こるとき=== | ||
+ | <pre> | ||
UNCAUGHT EXCEPTION (NSInternalInconsistencyException): Invalid parameter not satisfying: aString != nil | UNCAUGHT EXCEPTION (NSInternalInconsistencyException): Invalid parameter not satisfying: aString != nil | ||
+ | UserInfo: (null) | ||
+ | Hints: | ||
+ | 0: Calling block provided to DVTSyncPerformBlock() here: | ||
+ | </pre> | ||
− | + | 色々参考はあったが、実機iPhoneXS(ios13.4.1)で、うまく行かなかった。 | |
+ | 端末を切り替えて、シミュレーターiPhone8やiPhone11やiPhone11ProMaxにしたところ、ビルド成功して、アプリが開いた。他のシミュレータでは試してないので、実機がまずかったのかも。 | ||
参考:https://program-life.com/1431 | 参考:https://program-life.com/1431 | ||
行138: | 行144: | ||
#Build Setting/Swift Compiler/Language/Swift Language Versionについて | #Build Setting/Swift Compiler/Language/Swift Language Versionについて | ||
#UnspecifiedからSwift5に変更 | #UnspecifiedからSwift5に変更 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==参考== | ==参考== |
2020年7月6日 (月) 12:01時点における最新版
目次
プロジェクト作成
cordova create hello com.example.helloworld helloworld cd hello
プラットフォーム追加
cordova platform add android cordova platform add ios cordova platform add browser
browerをビルドチェック&ビルド&実行
cordova requirements browser cordova build browser cordova run browser
アクセス ttp://localhost:8000/index.html
androidをビルドチェック&ビルド&実行
ビルドチェック
$ cordova requirements android Java JDK: installed 1.8.0 Android SDK: installed true Android target: installed android-29,android-28,android-27,android-26,android-24 Gradle: installed /usr/local/Cellar/gradle/6.4.1/bin/gradle
ビルド
$ cordova build android
実行
$ cordova run android
実機がつながってれば、apache cordovaと画面が出た。
gradle pathエラーが出たとき
Could not find an installed version of Gradle either in Android Studio, or on your system to install the gradle wrapper. Please include gradle in your path, or install Android Studio Some of requirements check failed
macであれば・・・
$ brew install gradle $ gradle -v $ Gradle 6.4.1
以下のようなjavaエラーが起こったら
avdmanager: Command failed with exit code 1 Error output: Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
1.8かどうか確認する javaが11とかなら1.8に変更する
$ vi ~/.bash_profile
#export JAVA_HOME=`/usr/libexec/java_home -v 11` export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
cordovaプロジェクトでないエラー
以下エラーが出るときは、wwwやconfig.xmlがあるプロジェクトで実行してるか確認。
Current working directory is not a Cordova-based project.
cordova platform addエラーが出る
プラットフォームが追加されてないと出る場合
No platforms added to this project. Please use `cordova platform add <platform>`
androidであれば、以下のようにプラットフォームを追加する
$ cordova platform add android
iosをビルドチェック&ビルド&実行
ビルドチェック
$ cordova requirements ios Requirements check results for ios: Apple macOS: installed darwin Xcode: installed 11.1 ios-deploy: installed 1.10.0 CocoaPods: installed 1.9.2
ビルド
$ cordova build ios ** BUILD SUCCEEDED **
実行
$ cordova run ios Simulator successfully started via `ios-sim`.
ビルドチェックでpodが無いエラーが出るとき
CocoaPods: not installed /bin/sh: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory
以下を実行
sudo gem install -n /usr/local/bin cocoapods
それでもだめなら、以下も実行してみる
sudo gem update --system sudo gem uninstall cocoapods
プラットフォームが追加されてないエラー
以下エラーが出たときは
The platform "ios" does not appear to have been added to this project.
iosプラットフォームを追加する
cordova platform add ios
iphoneバージョンが対応してないエラーが出るとき
run時に以下エラーが出るとき
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3, but the range of supported deployment target versions is 8.0 to 13.1.99. (in target 'nanopb' from project 'Pods')
以下ファイルについて、以下のように修正する platforms/ios/Pods/Pods.xcodeproj/project.pbxproj
修正前
IPHONEOS_DEPLOYMENT_TARGET = 4.3;
修正後
IPHONEOS_DEPLOYMENT_TARGET = 13.1.99;
もしくは、
- 作成されてるplatforms/ios/HelloworldExample.xcworkspaceをxcodeで開く
- BuildSettings/iOSDevelopmentTargetを8.0から13.1の間で設定する
認証失敗エラーが出るとき
run時に以下エラーが出るとき
error: Signing for "HelloworldExample" requires a development team. Select a development team in the Signing & Capabilities editor. (in target 'HelloworldExample' from project 'HelloworldExample')
- 作成されてるplatforms/ios/HelloworldExample.xcworkspaceをxcodeで開く
- Signing & capabilitiesの TeamがNoneになっているので、追加する
conflicting provisioning settings.エラーが出るとき
HelloworldExample has conflicting provisioning settings.
NSInternalInconsistencyExceptionが起こるとき
UNCAUGHT EXCEPTION (NSInternalInconsistencyException): Invalid parameter not satisfying: aString != nil UserInfo: (null) Hints: 0: Calling block provided to DVTSyncPerformBlock() here:
色々参考はあったが、実機iPhoneXS(ios13.4.1)で、うまく行かなかった。 端末を切り替えて、シミュレーターiPhone8やiPhone11やiPhone11ProMaxにしたところ、ビルド成功して、アプリが開いた。他のシミュレータでは試してないので、実機がまずかったのかも。
参考:https://program-life.com/1431
Cannot find module 'unorm'エラーが出るとき
エラー詳細
Cannot find module 'unorm'
ionicを入れる
npm install -g ionic ionic platform list.
platform add iosをする
cordova platform add ios
SWIFT_VERSIONエラーが出たら
Showing Recent Issues Value for SWIFT_VERSION cannot be empty.
- Build Setting/Swift Compiler/Language/Swift Language Versionについて
- UnspecifiedからSwift5に変更