Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- darkmode
- 웹뷰
- Swift
- UIButton
- Archive
- 한글
- window
- MacOS
- IOS
- rxswift
- Apple
- Session
- mac
- Firebase
- view
- Xcode
- stack
- error
- FLUTTER
- appstore
- geofencing
- Code
- 개발자
- JPA
- github
- iOS16
- Realm
- Notification
- SwiftUI
- Git
Archives
- Today
- Total
EEYatHo 앱 깎는 이야기
Swift ) Queried URL Schemes 용도 (LSApplicationQueriesSchemes) - EEYatHo iOS 본문
iOS, Swift/Tip, Bug, Swift Error
Swift ) Queried URL Schemes 용도 (LSApplicationQueriesSchemes) - EEYatHo iOS
EEYatHo 2024. 2. 8. 10:12반응형
Queried URL Schemes (LSApplicationQueriesSchemes)
- 내 앱에서 오픈할 타 앱들의 스킴을 넣어두면, canOpenURL로 해당 앱의 설치여부를 확인할 수 있음
( 넣어두지 않으면 설치 되있어도 false라고 나옴. ) - 등록하지 않아서 canOpenURL이 false여도, 그냥 open하면 열리긴함. (?_?)
- 여기서 용도는 끝. 아래는 과거 정보들이 아니라는 것을 실험하는 내용.
iOS9, WKWebView
- 과거에, iOS9 부터, LSApplicationQueriesSchemes에 스킴을 넣지 않으면,
WKWebView에서 해당 앱으로 이동 불가능이라는 말들이 있는데 ( UIWebView는 됐었다는 등. 참고 ) - iOS 17에서 실험해보니 지금은 아님. 그냥 잘 열림. (?)
- 과거에, 결제 대행 서비스를 도입하면서, 20여개의 카드앱들의 URL Schemes을 등록했던 기억이 있던차라,
어떤 이유에서 왜 썼던 건지 명확하게 하기위해 삽질 진행.- localhost 웹페이지에 URL Scheme 딥링크를 a태그로 넣어놓고,
WKWebView, SFSafariViewController, https오픈(사파리앱) 3가지 케이스의 토이프로젝트를 만들고,
iOS 15,16,17 에서,
열고자 하는 앱이 설치되어있을 때와 없을 때에,
LSApplicationQueriesSchemes 에 등록했을 때와 아닐 때 차이가 있는지 실험 진행.
- iOS 15,16,17 다 잘 열림..
- WKWebView → 알아서 열리진 않고, 앱 내에서 WKWebview 델리게이트에서 open 처리 필요.
- SFSafariVC → Alert 띄우고 열리게 해줌.
- 사파리앱 → Alert 띄우고 열리게 해줌.
- 앱 미설치시에는 다 무반응.
혹시나 LSApplicationQueriesSchemes 등록해두면, 사파리에서 자동으로 앱스토어로 연결해주려나 싶었지만 아님. - 결론 : 웹서비스에서, LSApplicationQueriesSchemes 여부와는 아무 상관없이 open 잘 됨.
- iOS 15,16,17 다 잘 열림..
- localhost 웹페이지에 URL Scheme 딥링크를 a태그로 넣어놓고,
- 고작 canOpenURL 을 위해 사용..
- 웹 입장에서는 그것도 필요없음.
- 웹에서 앱스킴을 열고, 2초동안 반응이 없으면 미설치로 판단하고 앱스토어로 보내버리는 방식을 많이 취함.
'iOS, Swift > Tip, Bug, Swift Error' 카테고리의 다른 글
XcodeCloud Error ) Package.resolved file is corrupted or malformed - EEYatHo iOS (0) | 2024.05.16 |
---|---|
Swift ) error: the Swift tools version specification is missing a label (0) | 2024.02.29 |
SwiftUI ) Deinit 감지하기 - EEYatHo iOS (0) | 2024.02.01 |
SwiftUI ) TCA 단점 ( with AsyncStream, cancel, cancelable ) - EEYatHo iOS (1) | 2024.02.01 |
SwiftUI ) 위아래 검은 패딩 - EEYatHo iOS (0) | 2023.10.07 |
Comments