2019. 1. 23. 09:20


* 문제 

  - 기존 안드로이드 개발을 안하다고 다시 하게 되니 디바이스 기능을 불러오기 위한 권한 정책이 변경

  - 언제 바뀌었나?

    + 마시멜로우 버전 부터 바뀜, 정적 보안 선언에서 => 동적(runtime) 정책 보안으로 변경

  - 코도바 플러그인 참조해서 개발하는 개발자들의 문제가 생김

  - 현재 자료를 찾아봐도 버전을 낮춰서 개발하란 말이 있음

    => 경험상 언제가 문제가 생김 (한국개발자들이 대부분 요따구로 써놨음.. 열받아서 plugin 인 개발을 하고

       테스트 중에 좋은 플러그인을 발견함...새벽까지 작업하다가 다음날 찾음..억울

         


* 해결

  - https://www.npmjs.com/package/cordova-plugin-permission 여기 가면 있음



예제) 플러그인 다운받은 후 아래 예제 참조 하시면 됨.
       저같은 경우는 전화번호를 가져오는 기능이고 
       추후에 sms와 전화걸기 등 여러기능이 연동됩니다.  
 
 



Posted by 토실토실천재
2019. 1. 21. 15:38

* 버그 내용

  - onsen ui 의 대표적 기능인 Tab의 기능에 대해서 버그 발견

  - tabbar를 사용하여 js를 이용하여 setActiveTab 을 지정하는 경우 오류 발생

  

* 버그 현상

  - 첫번째 Tab이 기본적으로 인덱싱 설정되어 문제가 발생하지 않지만

  - n번째 Tab에 강제로 Set하는 과정에서 오류 발생

  - Tab을 초기화 하는 과정에서 속도의 문제로 인한 버그 인정...


* 잠정 해결

  - 어쩔수없이 setTimeout 이라는 땜질을 실행 



var tabbr = page.querySelector("tapTabbar");

// 온센 UI 버그로 인한 setTimeOut 적용

setTimeout(function(){

tabbr.setActiveTab(index);

}, 100);

Posted by 토실토실천재
2018. 12. 16. 20:15


var div = document.getElementById("map_canvas");

var map = plugin.google.maps.Map.getMap(div);

map.one(plugin.google.maps.event.MAP_READY, function(){

console.log("Map init done!"); // DEBUG

$('.page__background')

.not('.page--menu-page__background')

.css('background-color', 'rgba(0,0,0,0)');


$(div).css( "background-color", "rgba(0,0,0,0)" );

});


맵이 onsen UI 에서만 나오지 않을 경우 대처법입니다.

구글맵은 정상적으로 로드되는걸 봐서는 CSS문제인것으로 봐서 위와같이 백그라운드를 초기화 시켜버림


* 단 Onsen UI 나 기타 모바일 프레임워크의 문제는

 웹뷰에서 실행되는 맵이 아니라는점이다. 

 이는 구글맵 자체가 안드로이드 시스템 자체에서 실행되므로

 화면상의 큰 문제를 야기 하더군요


 즉, 모든 화면에 백그라운드로 지도가 표기가 됩니다.

 이는 onsen ui의 페이지 전환시 명확하게 확인 할수 있답니다..

 저는 그래서 코도바 프로젝트에서 JS 버전의 map api 를 사용하는것을 추천합니다...


 웹뷰의 브라우저에서 실행되므로 좀 느리긴 하지만....

'모바일 > Onsen UI' 카테고리의 다른 글

Cordova android Permission 문제 (plugin 적용)  (0) 2019.01.23
Onsen UI tabbar setActiveTab 지정 오류  (0) 2019.01.21
Posted by 토실토실천재