facebook twitter hatena line email

「Cordova/helloworld」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(認証失敗エラーが出るとき)
 
(同じ利用者による、間の24版が非表示)
行1: 行1:
 
==プロジェクト作成==
 
==プロジェクト作成==
  cordova create helloworld com.example.helloworld helloworld
+
  cordova create hello com.example.helloworld helloworld
  cd helloworld
+
  cd hello
  
 
==プラットフォーム追加==
 
==プラットフォーム追加==
行92: 行92:
 
  cordova platform add ios
 
  cordova platform add ios
  
==iphoneバージョンが対応してないエラーが出るとき==
+
===iphoneバージョンが対応してないエラーが出るとき===
run時に
+
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')
 
  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')
 
以下ファイルについて、以下のように修正する
 
以下ファイルについて、以下のように修正する
行103: 行103:
 
  IPHONEOS_DEPLOYMENT_TARGET = 13.1.99;
 
  IPHONEOS_DEPLOYMENT_TARGET = 13.1.99;
  
==認証失敗エラーが出るとき==
+
もしくは、
 +
#作成されてるplatforms/ios/HelloworldExample.xcworkspaceをxcodeで開く
 +
#BuildSettings/iOSDevelopmentTargetを8.0から13.1の間で設定する
 +
 
 +
===認証失敗エラーが出るとき===
 
run時に以下エラーが出るとき
 
run時に以下エラーが出るとき
 
  error: Signing for "HelloworldExample" requires a development team. Select a development team in the Signing & Capabilities editor. (in target 'HelloworldExample' from project 'HelloworldExample')
 
  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/AdmobBasicExample.xcworkspaceをxcodeで開く
+
#作成されてるplatforms/ios/HelloworldExample.xcworkspaceをxcodeで開く
 
#Signing & capabilitiesの TeamがNoneになっているので、追加する
 
#Signing & capabilitiesの TeamがNoneになっているので、追加する
 +
 +
===conflicting provisioning settings.エラーが出るとき===
 +
HelloworldExample has conflicting provisioning settings.
 +
 +
===NSInternalInconsistencyExceptionが起こるとき===
 +
<pre>
 +
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
 +
 +
===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に変更
  
 
==参考==
 
==参考==

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;

もしくは、

  1. 作成されてるplatforms/ios/HelloworldExample.xcworkspaceをxcodeで開く
  2. 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')
  1. 作成されてるplatforms/ios/HelloworldExample.xcworkspaceをxcodeで開く
  2. 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.
  1. Build Setting/Swift Compiler/Language/Swift Language Versionについて
  2. UnspecifiedからSwift5に変更

参考

https://qiita.com/AyumuSuzuki/items/17945ea1cfff1418e364

https://qiita.com/cognitom/items/3b30284e8d01eaf122b7