logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

iOS - OpenURL으로 HTML에서 어플 실행

by digipine posted Nov 01, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

OpenURL URL Schemes, HTML에서 어플실행, 어플에서 어플실행, handleOpenURL 이용


요즘들어서 애플 결제 과금에 대한 고민을 많이 하는 것 같아서 공유해드립니다.
카드나 핸드폰 결제 페이지를 붙이면 애플에서 승인심사를 받는데, 다들 문제가 많죠!!!!

그래서 한 가지 방법을 제시할 가 합니다.

과금을 적용하는 데 좋은 방법은

과금 결제페이지는 홈페이지 즉, 모바일 웹페이지로하고
어플에서 사파리를 통한 결제페이지를 넘겼다가
결제가 끝나면 모바일 웹페이지에서 어플을 호출시키는 방법 입니다.


이럴 때 유용하게 이용하는 것이 OpenURL URL Schemes 입니다.
그냥 헤더처리 라고도 하더군요.

(1) 참고 url

 

1. http://iphonedevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

 

2. http://docs.burstly.com/guides/in-app-purchase-quick-start-guide.html#giving-your-app-an-openurl-url-scheme

 

3.  http://wiki.akosma.com/IPhone_URL_Schemes

 

(2) 설명

OpenURL URL Schemes, URL Schemes, handleOpenURL 이용방법 또는 Header, 헤더

라고 말하는 것을 간단히 말하면

test1234:// 와 같은 형태로 호출시 쓰이는 형태로,

홈페이지에서 http://와 같이 사용되는 형태의 머릿글 이라고 생각하면 좋겠다.

 

 

위에서 test1234는 어플 인증 App ID가 com.headercoco.test1234일 경우에 test1234를 말한다.

선언은 ㅇㅇㅇㅇ-info.plist 파일에 항목을 추가해야 한다.

1) info.plist에  URL Schemes 추가

2) 소스 어플프로그램AppDelegate.m에 handleOpenURL 메소드 추가

3) 다른 어플 또는 HTML에서 호출 사용 (HTML의 href를 이용 형태)

 

추가설명)Xocde에서 -info.plist 파일을 열고 URL Types를 추가하고 URL identifier에

com.yourcompany.myapp 형태로 입력하고 item0에 URL Schemes를 추가하여 item0에 url scheme에 연결될 스키마 이름을 myapp형태로 입력한다.


 

 

(3) 호출 예시

1) myapp://
2) myapp://some/path/here
3) myapp://?foo=1&bar=2
4) myapp://some/path/here?foo=1&bar=2

 (4) 소스 코딩1) 소스 어플프로그램AppDelegate.m에 추가

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
  // Do something with the url here
}

 2) 사용 예시

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    if (!url) {  return NO; }
 
    NSString *URLString = [url absoluteString];
    [[NSUserDefaults standardUserDefaults] setObject:URLString forKey:@"url"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    return YES;
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
 // 어플 자신이 호출된 경우에 얼럿창 띄우기
 NSString *strURL = [url absoluteString];
 
 UIAlertView *alertView= [[UIAlertView alloc] initWithTitle:@"call message"
                                                       message:strURL                                                    
      delegate:nil                                        
     cancelButtonTitle:@"OK" otherButtonTitles:nil];
 
 [alertView  show];
 [alertView  release];
 
 return YES;
}  

TAG •

List of Articles
No. Subject Author Date Views
56 [Swift 3] HTTP Request 사용하기, 클래스 소스코드 및 사용법 digipine 2017.11.02 9781
55 OSX - Screen Serial Terminal - OSX에서 시리얼 터미널 사용하기 digipine 2017.11.03 6871
54 [iOS/Objective-C] __weak, __block 사용법 digipine 2021.02.16 5557
53 [Swift 3] TCPIP Socket 통신 클래스 소스 코드 및 사용법 digipine 2017.11.02 4649
52 [Objective-C] NSOperation과 NSOperationQueue를 사용하는 방법 - 설명 및 예제 엉뚱도마뱀 2018.03.14 4195
51 [iOS/macOS] 사설 인증서를 사용한 SSL HTTPS 통신 시 우회처리 digipine 2021.07.06 2991
50 [macOS] Sandbox 정책 극복기 Accessing Security Scoped Resource 1 file digipine 2017.11.02 1782
49 iOS - Objective - C, URL 인코딩과 디코딩 digipine 2017.11.01 1679
48 [Objective C] NSString 앞뒤 공백 문자 및 줄바꿈 문자 제거 digipine 2017.11.02 1656
47 [swfit 4] 스위프트 Swift 동시성 동기화 정리 엉뚱도마뱀 2018.09.06 1316
46 [MacOS, Swift] 스크롤뷰, NSScrollView 사용법 엉뚱도마뱀 2018.11.01 1264
45 OSX 사파리 최신 버전 폰트 변경하기 file digipine 2017.11.03 1224
44 iOS - UITextField의 Placeholder Color 색 변경하기 file digipine 2017.11.02 1152
43 [iOS, MacOS] Singleton 싱글톤 패턴 사용하기 2 digipine 2017.11.02 1080
42 MacOS mysql 비밀번호 분실 시 재설정하기 digipine 2017.11.14 1029
41 [iOS, MacOS] NSNotification, NSNotificationCenter 사용법 digipine 2017.11.02 1026
40 [swift 4] 변경 사항 정리 file 엉뚱도마뱀 2018.07.23 1020
39 iOS - Objective C 정규식 사용법 2 digipine 2017.11.01 968
38 iOS - BLE 장치용 ANCS Library for ANCS digipine 2017.11.02 950
37 iOS - Openssl 빌드하기 digipine 2017.11.01 946
Board Pagination Prev 1 2 3 Next
/ 3