やりたいこと
Monacaでcordova-background-geolocation-ltを用いて、バックグラウンドで位置情報を取得する。
MonacaクラウドIDEでコーディング、デバッグはiOSのカスタムビルドデバッガーを使用しています。
発生している問題
プラグインのready部分を有効にすると、カスタムビルドデバッガーを起動した後、スプラッシュ画面のフェードアウト時にアプリがクラッシュします。
ready部分をコメントアウトすると、通常通り起動します。
原因不明のクラッシュなので、何か分かる方がいらしたら、教えて頂きたいです。
よろしくお願いいたします。
考えられる対処
githubの通り、config.xmlの<platform name="ios">
に指定の要素の貼り付けはしています。
デバッガーの使用プラグインにはきちんとBackgroundGeolocationの表示はあります。
以下、index.html(べた貼り)
body部分はテンプレートのままです。
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"> <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> <script src="components/loader.js"></script> <script src="lib/onsenui/js/onsenui.min.js"></script> <link rel="stylesheet" href="components/loader.css"> <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> <link rel="stylesheet" href="css/style.css"> <script> var time = moment().format('YYYY-MM-DD-hh:mm:ss'); document.addEventListener('deviceready', onDeviceReady, false); function onDeviceReady() { var bgGeo = window.BackgroundGeolocation; console.log(time); bgGeo.onLocation(function(location) { console.log('[location] -', location); }); // 以下問題の箇所 // 初期設定 bgGeo.ready({ // 位置情報に関する設定 desiredAccuracy: 0, distanceFilter: 10, stationaryRadius: 50, locationUpdateInterval: 1000, fastestLocationUpdateInterval: 5000, // アクティビティ認識の初期設定 activityType: 'AutomotiveNavigation', activityRecognitionInterval: 5000, stopTimeout: 5, // アプリケーションの設定 debug: true, stopOnTerminate: false, startOnBoot: true }, function(state){ console.log('BackgroundGeolocation ready: ', state); if(!state.enabled){ bgGeo.start(); } }); } </script> </head> <body> <ons-page> <ons-toolbar> <div class="center" id="toolbar-title"></div> </ons-toolbar> <ons-tabbar position="auto"> <ons-tab label="Tab 1" page="tab1.html" active> </ons-tab> <ons-tab label="Tab 2" page="tab2.html"> </ons-tab> </ons-tabbar> </ons-page> <ons-template id="tab1.html"> <ons-page id="first-page"> <p style="text-align: center;"> This is the first page. </p> </ons-page> </ons-template> <ons-template id="tab2.html"> <ons-page id="second-page"> <p style="text-align: center;"> This is the second page. </p> </ons-page> </ons-template> </body> </html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。