swift
-
iOS, Swift에서 swipe back 제스처 인식기 추가Language/iOS,AOS 2024. 12. 26. 17:10
메인 WKWebView Swipe 활성화Swipe로 뒤로가기, 앞으로가기 활성화override func viewDidLoad() { ... wKMainWeb?.allowsBackForwardNavigationGestures = true ...}Swipe로 뒤로가기, 앞으로가기 비활성화override func viewDidLoad() { ... wKMainWeb?.allowsBackForwardNavigationGestures = false ...} 팝업 UIView 설정UIView등 새창으로 생성되는곳에 코드를 삽입해준다.팝업 호출시 스와이프 백 제스처 인식기 추가// MARK: - iOS Bridge// 웹 액션 정의 : WebAction을 구분하는데 사용되는 타입enum WebAction:..
-
네이티브 & React 배포 버전 이슈 처리Language/iOS,AOS 2024. 7. 10. 15:48
React iOS Native로 통신하는 구조에서 iOS에 없는데 웹소스가 배포 되거나, 웹소스 배포 후 네이티브가 배포되면 문제가 발생한다.매번 예외 처리는 하지만 그떄마다 신경쓰는게 꽤 많이 많이 귀찮다.이번 기회에 자바스크립트에서 네이티브에 통신하였는데 해당 함수가 없어도 문제가 없도록 개선해 보자. JavaScriptcommon.jswindow.openExternalLinkCallback 함수를 미리 정의해 두고 네이티브에서 콜백해주자.class Common { ... static openExternalLink(url) { if (Util.Browser.isAndroidApp()) { Common.open2(url); } else if (Util.Browser.isIos..
-
Swift 외부 브라우저(사파리)로 링크 열기Language/iOS,AOS 2024. 7. 10. 15:33
React + Swift WebView로 개발된 서비스에서 외부 브라우저(사파리)에서 다른서비스를 띄워야 하는 니즈가 발생하였다.정리해두자. JavaScriptcommon.jsclass Common { ... static openExternalLink(url) { if (Util.Browser.isAndroidApp()) { Common.open2(url); } else if (Util.Browser.isIosApp()) { window.openExternalLinkCallback = (jsonData) => { if (jsonData['result'] === false) { Common.open2(url); } }; ..
-
plist 여러개 일때 Podfile 설정Language/iOS,AOS 2023. 11. 3. 18:03
plist는 분리했는데 pod update 하면 메인 plist 파일에만 Embed Pods Frameworks 등이 생성되는 문제를 발견 하였다.처음에 몰라서 복사해서 다시 생성했는데 시간이 어마무시하게 걸린다.찾아보니 pod update 할때 Targets에 맞게 라이브러리를 설치하는 방법을 찾아서 정리해 놓는다. PodfilePodfile을 설정 해 두고 pod update하면 각각의 프로젝트에 pod 라이브러리들이 추가된다.use_frameworks!def sharepods pod 'FirebaseAnalytics' pod 'FirebaseMessaging' pod 'ReachabilitySwift' # Gif pod 'Gifu' # 카카오 pod 'KakaoSDKComm..
-
Swift와 코코아팟으로 생성된 프로젝트 복사Language/iOS,AOS 2023. 2. 17. 12:25
이미 개발된 프로젝트를 새로운 이름의 프로젝트로 바꿔 사용할 수 없을까? iOS개발은 처음이라서 인증부터 스토리보드로 화면 구성까지 삽질을 겁나게 많이하고.. 어찌어찌 필요한 기능들은 모두 넣은 프로젝트를 완성할 수 있었다. 근데.. 우리회사는 모바일 위주로 사업이 많아서 화면은 웹뷰로 iOS, Adroid등을 통해서 하이브리드앱을 주로 사용하는데 추가되어야 할 앱들이 아직도 많을듯하다. 당장 기존과 동일한 기능으로 앱을 추가해야 하는 상황이기도 하다. 음.. 그럼 스토리보드로 설정 및 권한까지.. 아 이거 다시해줘야돼?? 맨붕온다. 스토리보드 및 소스까지 복사하고 어떻게 어떻게 하면 되겠지?? 하지만.. 빼먹은게 있으면 다시 확인하고 테스트 해야하니 이게 맞나?? 프로젝트를 복사해버리고 프로젝트 설정만..
-
Git/gitignore 생성 - IOS, Swift, CocoaPodsConfiguration Management/git 2023. 2. 16. 17:33
IOS에서 Swift로 코코아팟까지 사용해서 개발을 진행 한 후 git에 올리려고 했더니 코코아팟 라이브러리가 너무 많지 않나 라는 생각이 들었다. 올라가 버리면 나중에 지우는것도 여러모로 귀찮고 해서 이번에 정리좀 해놓자! github에서 레파지토리를 생성하면서 swift를 기본으로 설정하여 gitignore은 생성되어 있고 제외할 부분들도 포함되어 있는 상태였다. 그 부분에서 Pods 쪽만 제외시키는 부분을 주석에서 제거할까 했지만 혹시 모르는 라이브러리 들이 같이 올라가게 되면 의도치 않은 파일들까지 형상관리 되어 버리니, 구글링 등을 통해서 필요한 부분만 효과적으로 제외하는 방향으로 정리해 보았다. (참고로 IOS 개발자가 아니라서 더 모르니 이 방법으로 처리 하기로 했다. 모르니까 객기 부리지 ..
-
Provisioning Profile 수정Language/iOS,AOS 2023. 2. 6. 16:43
개인적으로 공부할 떄에는 Automatically manage signing으로 진행하였지만 기존에 운영중이던 프로젝트는 혹시나 몰라서 기존과 동일하게 설정해보려고 한다. (실수 방지를 위해 모두 기록해 두자!) 프로비저닝 파일 설정이 되어 있지 않을때 표시 메세지 Debug Release Staging 애플 개발자 사이트에 접속 https://developer.apple.com/ Apple Developer There’s never been a better time to develop for Apple platforms. developer.apple.com 1. 프로파일 수정 Profiles 메뉴로 이동 후 이미 생성되어 있는 Profile을 클릭하여 상세화면에 진입한다. Edit을 눌러서 수정화면에 ..
-
Multiple Configurations 로 Debug, Release 구분 배포Language/iOS,AOS 2023. 2. 3. 13:36
Multiple commands produce error가 발생하여 원인 분석 및 처리한 내용이다. 1. Multiple Configurations 설정 Debug : 개발 Debug Staging : Testflight 에 올라가는 Debug 환경 Release : Testflight 및 AppStore 에 올라가는 Production 환경 Configuration 생성 PROJECT(name) -> Info -> Configurations -> `+` 클릭 -> Duplicate "Debug" Configuration Staging 추가 `Staging`으로 변경 2. User-Defined Setting 생성 TARGETS(name) -> Build Settings -> `+` 클릭 -> Add U..