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
57 App UUID 생성 예시 lizard2019 2025.12.10 1005
56 Apple AppStore App Review 시 Reject 피하기 위한 방법 digipine 2017.11.02 2373
55 iOS - Socket Nagle 알고리듬 OFF digipine 2017.11.01 2415
54 iOS - Objective-C 남아있는 메모리 공간 확인 방법 digipine 2017.11.01 2507
53 iOS - Thread Loop 내에서 UI 업데이트 방법 digipine 2017.11.01 2576
52 iOS - NSURLConnection로 다중 다운로드 구현 digipine 2017.11.01 2627
51 OpenAL PDF, Sample Source file digipine 2017.11.02 2679
50 iOS - UILabel 에서 AttributeString 사용하기 digipine 2017.11.02 2712
49 iOS - NSString의 언어 인코딩 메소드 정리 digipine 2017.11.01 2735
48 iOS - BLE 장치용 ANCS Library for ANCS digipine 2017.11.02 2770
47 [iOS, MacOS] NSNotification, NSNotificationCenter 사용법 digipine 2017.11.02 2856
46 iOS - View 이동 전환 하기 총정리 digipine 2017.11.01 2872
45 iOS - NSString 와 NSData 간의 데이터 상호 변환 digipine 2017.11.01 2912
44 XCode 8 업데이트 후 Code Sign Error 발생 시 해결법 1 digipine 2017.11.02 2934
43 OSX 사파리 최신 버전 폰트 변경하기 file digipine 2017.11.03 2960
42 [iOS] Audio Session Setting digipine 2021.11.26 2977
41 iOS - Sleep Mode Blocking 방법, 앱실행시 슬립모드 진입 방지 digipine 2017.11.01 2983
40 macOS Daemon 관련 시스템 폴더 목록 lizard2019 2024.03.08 2989
39 WatermelonDB 'jsi/jsi.h' file not found 문제 해결 file digipine 2021.04.06 3027
» iOS - OpenURL으로 HTML에서 어플 실행 digipine 2017.11.01 3028
Board Pagination Prev 1 2 3 Next
/ 3