728x90 반응형 개발노트180 Xcode: 카메라, 갤러리 접근 권한 및 WkWebView 파일 업로드 action sheet 한글화 개발 환경 --------------------------------- OS : Mac 개발 툴 : xcode 개발 언어 : Swift xcode version : 15.0.1 min iOS version : 14.1.1 --------------------------------- 이번 포스팅에서는 iOS에서 카메라, 갤러리 접근 권한 설정 및 WkWebView 에서 파일 업로드 시 action sheet가 기본으로 영문으로 되어 있는데 이를 현지 언어로 변경할거다. 1. 카메라, 갤러리 접근 권한 설정 카메라, 갤러리 접근 권한 설정은 info.plist에서 설정한다. 이렇게 설정해두면 앱에서 사용자가 카메라, 갤러리에 접근하려 할 때 권한요청 팝업이 표시된다. info.plist source code.. 2023. 12. 5. JS <-> Native : Java exception was raised during method invocation 에러 개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 34 minSdk : 23 --------------------------------- js native 통신중 위와 같은 에러를 만났다 나의 경우는 Js에서 android 메서드를 호출하고 android에서 js메서드를 callback으로 바로 호출했더니 에러가 났다. 별도의 쓰레드를 태워야한다. 나는 runOnUiThread 를 사용했다. runOnUiThread { //코드 } 2023. 11. 28. iOS : DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead 개발 환경 --------------------------------- OS : Mac 개발 툴 : xcode 개발 언어 : Swift xcode version : 15.0.1 min iOS version : 14.1.1 --------------------------------- xcode를 15.0.1로 업데이트 하고 프로젝트를 실행하니 빌드 에러가 발생하였다. DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead 찾아보니 Xcode를 업데이트 하면서 cocoaPod도 같이 업데이트 해줘야 하나보다 cocoaPod를 업데이트 해주자 gem install cocoapods --pre //최신 .. 2023. 11. 26. [Kotlin] 앱 알림 설정 열기 개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 34 minSdk : 23 --------------------------------- 이번 포스팅에서는 android 앱에서 앱 설정 화면을 열어보겠다. Oreo 버전을 기점으로 이전 버전과 이후 버전의 처리 방식이 다르다. 구분해서 작업해주면 된다. fun loadSetting() { val intent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { notificationSettingOreo(this@MainActivity) } else { notificationSetting.. 2023. 11. 22. [SWIFT] 앱 설정으로 이동하기 개발 환경 --------------------------------- OS : Mac 개발 툴 : xcode 개발 언어 : Swift xcode version : 14.2 min iOS version : 13.0 --------------------------------- 앱 실행 중 사용자에게 알림 설정 카메라 권한 등 설정등을 요청해야할 때가 있다. (보통 앱 실행 시 또는 그 권한 이 필요할 때 권한 요청을 하는데 사용자가 한번 거절하면 다시 띄울 수 없다. 설정 페이지로 이동시켜서 설정해야한다.) 이럴 경우 아래의 소스로 앱에서 앱 설정 화면을 이동시킬 수 있다. guard let url = URL(string: UIApplication.openSettingsURLString) else { re.. 2023. 11. 18. [Android] Android ID와 Device Id의 구분 이번 포스팅은 Android Id와 Device Id에 대해 알아보려 한다. Android ID 먼저 Android Id는 기기를 처음 boot할때 무작위로 생성되는 64비트숫자이며 기기 수명동안 유지된다. 따라서 공장 초기화를 하지않는 이상 변경되지 않는 값이다. 그래서 Android id를 디바이스를 구분하는 고유번호로 사용할 수 있는데 공장 초기화를 하지 않았는데도 Android Id가 변경되는 케이스가 있다. Android 8.0 (api level 26, oreo) 에서 약간 변경사항이 있는데 Android_id값이 원래는 공장초기화 시에만 변경되었다면 이제는 앱의 서명키가 바뀌어도 변경된다. 배포되어 있는 앱의 서명키가 바뀔 일은 희박하지만 debug.apk와 release.apk의 andro.. 2023. 11. 5. [Android] 화면 전환 시 activity가 다시 시작되는 현상 개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 34 minSdk : 23 --------------------------------- 처음에 마주했을 때 되게 당황했던 상황이다. 화면 방향이 전환되면 webView activity가 다시 시작해서 처음 화면으로 돌아가는 것 처럼 보인다. 이때는 manifest.xml 파일에서 해당 activity에 아래의 옵션을 걸어주자 android:configChanges="orientation|keyboardHidden|screenSize" 2023. 11. 4. [Nuxt.js] 프로젝트 생성하기 개발 환경 --------------------------------- OS : Mac 개발 툴 : intelliJ 개발 언어 : java 개발 프레임워크 : nuxt 빌드 도구 : Gradle --------------------------------- Nuxtjs = Vue + SSR 라고 간단하게 이해한 후 시작해보자 SSR은 server side rendering의 약자로 클라이언트가 서버에 매번 데이터를 요청하고 서버에서 처리하는 방식이다. 예를들어 원래는 특정 url을 호출하면 클라이언트단(브라우저)에서 화면을 그린다. 2023. 10. 30. [Android] onCreateWindow 이슈 해결기 개발 환경 --------------------------------- OS : Mac 개발 툴 : Android Studio 개발 언어 : Kotlin targetSdk : 34 minSdk : 23 --------------------------------- 지금 작업하는 앱은 98프로webView로 서비스하는 하이브리드 앱이다. 이 webView안에서 새창을 참 자주 여는데 어떤 창은 뒤로가기로 닫은 후 다시 열었을 때 잘 열리고 어떤 화면은 뒤로가기로 창을 닫으면 창이 더이상 안뜬다 일정 시간이 지나야 뜬다 ㅡㅡ 알아보니 webView가 해제되기까지 시간이 조금 걸리는거 같고 이 시간동안 재실행을 못하게 한다는 말도 있고 흠 여튼 이유가 어쨋든 원인은 webView가 제대로 해제되지 않았기 때문에.. 2023. 10. 30. [vue3] Cannot start service: Host version 오류 개발 환경 --------------------------------- OS : Mac 개발 툴 : intelliJ 개발 언어 : java 개발 프레임워크 : vue3 빌드 도구 : Gradle --------------------------------- vue 프로젝트를 실행했는데 local 실행이 정상적으로 되지 않는다. 아래와 같이 에러가 떴다... 호스트 버전이 바이너리 버전과 안맞는다?? 라고 한다. Cannot start service: Host version "0.18.20" does not match binary version "0.17.19" 아직 원인은 찾지 못했지만 해결방법은 프로젝트 폴더 구조에 있는 node modules 폴더를 삭제한 후 yarn install을 실행한다. 이렇게.. 2023. 9. 27. [kotlin] onBackPressed() deprecated 개발환경 ----------------------------------- os : windows tool : androidStdudio 언어 : kotlin ----------------------------------- 오랜만에 android 개발하면서 또 알아낸 것 onBackPressed 메서드가 더이상 사용되지 않는다고 한다. 바뀐게 많으니 재미있다.. override fun onBackPressed() { super.onBackPressed() } 원래는 이렇게 썼었다. 앞으로 back키에 이벤트를 주고 싶을 때 써야할 방식은 private val callback = object : OnBackPressedCallback(true) { override fun handleOnBackPressed(.. 2023. 9. 12. [kotlin] build.gradle.kts viewBinding 설정 개발환경 ----------------------------------- os : windows tool : androidStdudio 언어 : kotlin ----------------------------------- 오랜만에 android 를 할랬더니 신기한게 많이 나왔다. 그 중에서 build.gradle.kts 라는 파일을 볼거다. 원래는 ViewBinding 셋팅을 android { viewBinding { enable true } } 이런식으로 했는데 안먹혀서 찾아보니 android 속성 안에 buildFeatures { viewBinding = true } 이렇게 넣어줘야 한다고 한다. 2023. 9. 11. 이전 1 2 3 4 5 ··· 15 다음 728x90 반응형