Notice
Recent Posts
Recent Comments
Link
투케이2K
178. (ios/swift) 카카오 맵 (kakao map) http 외부 링크 이동 및 위도, 경도, 마커 설정 실시 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[호출 : 소스 코드]
// MARK: - [테스트 함수 정의]
func testMain() {
print("")
print("===============================")
print("[ViewController >> testMain() :: 테스트 함수 수행]")
print("===============================")
print("")
/**
* // --------------------------------------
* TODO [http 주소 사용해 외부 링크로 이동 및 카카오 맵 위도, 경도, 마커 좌표 표시]
* // --------------------------------------
* 1. 지도 바로가기 : https://map.kakao.com/link/map/marker,37.402056,127.108212
* // --------------------------------------
* 2. 로드뷰 바로가기 : https://map.kakao.com/link/roadview/37.402056,127.108212
* // --------------------------------------
* */
// [브라우저 사용해 외부 링크 이동 실시]
self.goSafariBrowserOuter(_url: "https://map.kakao.com/link/map/marker,37.402056,127.108212")
}
[링크 이동 : 소스 코드]
// MARK: - [사파리 기반 : 외부 브라우저 링크 이동 실시]
func goSafariBrowserOuter(_url : String){
/*
// -----------------------------------------
[goSafariBrowserOuter 메소드 설명]
// -----------------------------------------
1. 필요 info plist : App Transport Security Settings >> Allow Arbitrary Loads >> YES
// -----------------------------------------
2. 필요 import : import SafariServices
// -----------------------------------------
3. 호출 방법 : self.goSafariBrowserOuter(_url: "https://www.naver.com")
// -----------------------------------------
*/
// [주소 널 체크 및 http 주소를 포함하는지 확인]
if _url != nil && _url.count>0 && _url != ""
&& _url.hasPrefix("http") == true || _url.hasPrefix("https") == true {
print("")
print("====================================")
print("[C_MoveApp >> goSafariBrowserOuter() :: [외부 이동] 사파리 기반 브라우저 링크 이동 실시]")
print("-------------------------------")
print("url :: ", _url)
print("====================================")
print("")
// [방어 로직 추가 실시]
if C_Util().stringIsUrlParsing(string: _url) == false {
print("")
print("====================================")
print("[C_MoveApp >> goSafariBrowserOuter() :: [외부 이동] 사파리 기반 브라우저 링크 이동 실패]")
print("error :: URL 주소 형식 아님 >> 한글 인코딩 , 이스케이프 문자 체크 필요")
print("====================================")
print("")
// [종료 실시]
return
}
// [외부로 사파리 기반 브라우저 링크 열기 실시]
DispatchQueue.main.async{
UIApplication.shared.open(URL(string: _url)!, options: [:])
}
}
else {
print("")
print("====================================")
print("[C_MoveApp >> goSafariBrowserOuter() :: [외부 이동] 사파리 기반 브라우저 링크 이동 실패]")
print("-------------------------------")
print("설명 :: 접속 주소를 다시 확인해주세요")
print("-------------------------------")
print("url :: ", _url)
print("====================================")
print("")
}
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
180. (ios/swift) [간단 소스] 웹뷰 (wkwebview) 로드 시 post 방식 사용해 호출 실시 (0) | 2022.09.01 |
---|---|
179. (ios/swift) 디바이스 이름 모델 명칭 device model name 확인 실시 (0) | 2022.09.01 |
177. (ios/swift) 웹뷰 (wkwebview) 에서 userAgent 값 확인 및 커스텀 변경 실시 (0) | 2022.08.30 |
176. (ios/swift) 유닛 테스트 (Unit Test) 수행 방법 설명 (0) | 2022.08.29 |
175. (ios/swift) 스토리보드 (story board) 사용해 특정 화면 및 컴포넌트 위치 (x 축 , y 축) 이동 실시 (0) | 2022.08.23 |
Comments