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
36 [MacOS] Terminal 에서 zsh compinit: insecure directories 경고 제거하기 lizard2019 2021.04.30 567
» iOS - OpenURL으로 HTML에서 어플 실행 digipine 2017.11.01 570
34 [iOS, MacOS] ATS 보안 정책 가이드 digipine 2017.11.02 571
33 iOS - Sleep Mode Blocking 방법, 앱실행시 슬립모드 진입 방지 digipine 2017.11.01 573
32 iOS - sizeWithFont 메소드 deprecated와 sizeWithAttributes digipine 2017.11.02 611
31 [macOS] Xcode 디버깅 시 Could not attach pid 오류 해결 file lizard2019 2023.06.05 635
30 iOS - UILabel 에서 AttributeString 사용하기 digipine 2017.11.02 640
29 iOS - BSD Socket 네트워크 프로그래밍 digipine 2017.11.01 665
28 [iOS, MacOS] NSArray 정렬 Sorting에 대해서 digipine 2017.11.02 668
27 The distance estimate iBeacon signal strength lizard2019 2019.10.25 696
26 macOS ARP Spoofing Attack file digipine 2020.09.17 699
25 XCode 8 업데이트 후 Code Sign Error 발생 시 해결법 1 digipine 2017.11.02 713
24 iOS - NSString의 언어 인코딩 메소드 정리 digipine 2017.11.01 717
23 WatermelonDB 'jsi/jsi.h' file not found 문제 해결 file digipine 2021.04.06 734
22 OpenAL PDF, Sample Source file digipine 2017.11.02 796
21 iOS - 코드 수행시간 측정하기 - getTickCount digipine 2017.11.01 848
20 iOS - Openssl 빌드하기 digipine 2017.11.01 947
19 iOS - BLE 장치용 ANCS Library for ANCS digipine 2017.11.02 950
18 iOS - Objective C 정규식 사용법 2 digipine 2017.11.01 968
17 [swift 4] 변경 사항 정리 file 엉뚱도마뱀 2018.07.23 1020
Board Pagination Prev 1 2 3 Next
/ 3