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
24 [Swift 3] HTTP Request 사용하기, 클래스 소스코드 및 사용법 digipine 2017.11.02 9856
23 [iOS, MacOS] NSArray 정렬 Sorting에 대해서 digipine 2017.11.02 678
22 [iOS, MacOS] ATS 보안 정책 가이드 digipine 2017.11.02 587
21 iOS - UILabel 에서 AttributeString 사용하기 digipine 2017.11.02 643
20 iOS - sizeWithFont 메소드 deprecated와 sizeWithAttributes digipine 2017.11.02 615
19 iOS - Sleep Mode Blocking 방법, 앱실행시 슬립모드 진입 방지 digipine 2017.11.01 580
18 iOS , MacOS, iPhone용 GZipStream class 구현하기 digipine 2017.11.01 366
17 iOS - View 이동 전환 하기 총정리 digipine 2017.11.01 542
16 iOS - Openssl 빌드하기 digipine 2017.11.01 952
15 iOS - Objective-C Callback for C++ digipine 2017.11.01 275
14 iOS - NSString의 언어 인코딩 메소드 정리 digipine 2017.11.01 721
13 iOS - Socket Nagle 알고리듬 OFF digipine 2017.11.01 214
12 iOS - BSD Socket 네트워크 프로그래밍 digipine 2017.11.01 672
11 iOS - 코드 수행시간 측정하기 - getTickCount digipine 2017.11.01 853
10 iOS - Objective-C 남아있는 메모리 공간 확인 방법 digipine 2017.11.01 222
9 iOS - Query string을 Decode 하는 소스 digipine 2017.11.01 336
8 iOS - NSURLConnection로 다중 다운로드 구현 digipine 2017.11.01 336
7 iOS - Thread Loop 내에서 UI 업데이트 방법 digipine 2017.11.01 217
» iOS - OpenURL으로 HTML에서 어플 실행 digipine 2017.11.01 604
5 iOS - NSString 와 NSData 간의 데이터 상호 변환 digipine 2017.11.01 252
Board Pagination Prev 1 2 Next
/ 2