質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.45%
Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

1回答

5109閲覧

Monaca Cordova7.1へのアップデートに伴うdeviceready状態へ移行しないエラー

meamea

総合スコア15

Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

0クリップ

投稿2018/02/26 08:13

編集2018/02/26 09:22

状態

Monaca上でiOS11への対応上Cordovaプラグインを6.2→6.5→7.1へとアップデートを行った。
直後にビルドを行った結果、起動直後からどれほど待ってもons.ready()関数が実行されていないため、アプリ全体で動作不良を起こしている。

試したこと

ons.isReady関数をsetInterval関数で毎秒チェックしても常にfalseが返ってくる

javascript

1 2 setInterval(function(){alert(ons.isReady());}, 1000); 3 // Ready 4 ons.ready(function() { 5 //処理 6 }); 7

上記状態のため、Cordovaプラグイン周りの読み込みが完了しないことから
ons.isReady関数がtrueにならないと思い、
ビルドログを見たところcordova-plugin-cameraでエラーが吐かれていることがわかった。

- Cordova platform add - $ /data/build-server/cordova/7.1.0/bin/cordova platform add /data/build-server/cordova/platforms/ios/4.5.4 --nofetch Adding ios project... iOS project created with cordova-ios@4.5.4 Discovered plugin "Camera" in config.xml. Adding it to the project Failed to restore plugin "Camera" from config.xml. You might need to try adding it again. Error: Error: Unpublished by habor on 2016-07-20T09:00:15.019Z Discovered plugin "monaca-plugin-monaca-core" in config.xml. Adding it to the project Fetching plugin "monaca-plugin-monaca-core@3.2.0" via npm Installing "monaca-plugin-monaca-core" for ios Adding monaca-plugin-monaca-core to package.json Saved plugin info for "monaca-plugin-monaca-core" to config.xml

その後Cameraプラグインをバージョンを4.0.1から2.4.1及び3.0.0に戻し再ビルドを行ったがエラーは解決しなかった。

導入プラグイン

Camera     4.0.1
Custom Config 5.0.2
Device 2.0.1
File 5.0.0
File Transfer 1.7.0
InAppBrowser 2.0.1
MonacaPlugin 3.2.0
NIFCloudMB 2.0.10
SplashScreen 5.0.1
Whitelist 1.3.3

config.xml

1<?xml version="1.0" encoding="UTF-8"?> 2<widget xmlns="http://www.w3.org/ns/widgets" id="" version=""> 3 <name></name> 4 <description>Made with Monaca (http://monaca.mobi)</description> 5 <author/> 6 <content src="index.html"/> 7 <allow-navigation href="*"/> 8 <allow-intent href="itms:*"/> 9 <allow-intent href="itms-apps:*"/> 10 <preference name="loglevel" value="DEBUG"/> 11 <preference name="AndroidLaunchMode" value="singleTop"/> 12 <preference name="ErrorUrl" value=""/> 13 <preference name="SplashScreen" value="screen"/> 14 <preference name="AllowInlineMediaPlayback" value="false"/> 15 <preference name="BackupWebStorage" value="cloud"/> 16 <preference name="KeyboardDisplayRequiresUserAction" value="true"/> 17 <preference name="MediaPlaybackRequiresUserAction" value="false"/> 18 <preference name="SuppressesIncrementalRendering" value="false"/> 19 <preference name="TopActivityIndicator" value="gray"/> 20 <preference name="GapBetweenPages" value="0"/> 21 <preference name="PageLength" value="0"/> 22 <preference name="PaginationBreakingMode" value="page"/> 23 <preference name="PaginationMode" value="unpaginated"/> 24 <feature name="LocalStorage"> 25 <param name="ios-package" value="CDVLocalStorage"/> 26 </feature> 27 <preference name="UIWebViewDecelerationSpeed" value="normal"/> 28 <plugin name="Camera" value="CDVCamera"/> 29 <preference name="WindowsStorePublisherName" value="My Name"/> 30 <preference name="WindowsStoreIdentityName" value="2a9fbf65-4738-10b6-441d-9a48327e30d3"/> 31 <preference name="monaca:targetFamilyiPhone" value="1"/> 32 <preference name="monaca:targetFamilyiPad" value="0"/> 33 <preference name="KeepRunning" value="true"/> 34 <preference name="monaca:AndroidIsPackageNameSeparate" value="false"/> 35 <preference name="Orientation" value="portrait"/> 36 <preference name="SplashScreenDelay" value="1000"/> 37 <preference name="Fullscreen" value="false"/> 38 <platform name="chrome"> 39 <icon src="/platforms/chrome/icon.png" width="128" height="128"/> 40 <icon src="/platforms/chrome/icon.png" width="128" height="128"/> 41 </platform> 42 <preference name="FadeSplashScreenDuration" value="1000"/> 43 <preference name="ios-XCBuildConfiguration-TARGETED_DEVICE_FAMILY" value="1"/> 44 <preference name="AutoHideSplashScreen" value="true"/> 45 <preference name="FadeSplashScreen" value="true"/> 46 <preference name="ShowSplashScreenSpinner" value="false"/> 47 <access origin="*"/> 48 <access origin="*"/> 49 <preference name="DisallowOverscroll" value="true"/> 50 <preference name="EnableViewportScale" value="true"/> 51 <edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge"> 52 <string>need camera access to take pictures</string> 53 </edit-config> 54 <edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge"> 55 <string>need to photo library access to get pictures from there</string> 56 </edit-config> 57 <edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge"> 58 <string>need location access to find things nearby</string> 59 </edit-config> 60 <edit-config target="NSPhotoLibraryAddUsageDescription" file="*-Info.plist" mode="merge"> 61 <string>need to photo library access to save pictures there</string> 62 </edit-config> 63</widget> 64

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

自分もMonaca(cordova)初心者で色々と手探りの中なので的はずれな回答でしたら申し訳ございません。
少しでも参考になればと思い投稿させていただきます。

つい最近経験した事象ですが、Monacaデバッガー(iOS v10)を使用し1月中ごろまで動作していたアプリが
2月上旬頃より動作しなくなり調査したところ「deviceready」イベントがコールされない現象がありました。
devicereadyイベントですが、今回対象のons.ready()でなく、「document.addEventListener("deviceready", onDeviceReady, false);」
と異なりますが、この時の対処方法は、「<meta http-equiv="Content-Security-Policy">」を変更する事で解決いたしました。

変更前
<meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
変更後
<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-eval' 'unsafe-inline' gap://ready file:; style-src 'self' 'unsafe-inline'; media-src *; img-src * 'self' filesystem: data: blob:;" />

※Content-Security-Policyのそれぞれの意味はよく理解していませんが「gap://ready file:;」辺りがポイントだった気がいたします。

投稿2018/02/26 09:35

newdaysys

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meamea

2018/02/27 01:53

上記対応を行ったところ、devicereadyが正常に発火するようになりました! ありがとうございます。 よく調べたら7.1からの挙動ではなく、6.5からiOS10以降用にセキュリティが上がったのですね。 https://press.monaca.io/takuya/467
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.45%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問