본문 바로가기
프로그래밍/iOS

Custom URL Scheme, handleOpenURL를 이용하여 HTML에서 앱 실행하기

by 백룡화검 2011. 10. 11.

HTML의 href를 이용하여 애플리케이션을 실행할 수 있다.우선 openURL.html에 html코드를 저장하고 openJs.js에 javascript를 저장한다.
이 HTML 페이지는 버턴을 누르면 iPhone E-mail Application이 실행될 것이다. 그리고 Call Application을 클릭하면 Saltfactory Apps이 실행이 될 것이다.

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8"/>
	<meta name="viewport" content="width=device-width, 
                   minimum-scale=1.0, maximum-scale=1.0">
        <title>saltfactory's openURL</title>
        <script type="text/javascript" src="openJS.js" charset="utf-8"></script>
</head>
<body>
	<button id="sendMailButton" onClick="touchedUpMailButton()"> Send E-mail </button>
	<br/>
	<a href="saltfactory://subject=open Application&body=open Application from HTML">Call Application</a>
</body>
</html>

function touchedUpMailButton() {
    var email = "saltfactory@gmail.com";
    var subject = "open application on HTML";
    var body = "tutoiral openURL E-mail Application on HTML";
 
    location.href = "mailto:" + email + 
                             "?subject=" + encodeURIComponent(subject) + 
                             "&body=" + encodeURIComponent(body);
}

Xocde에서 작업해야할 일은 두가지이다.
1. Saltfactory-info.plist 파일을 열어서
URL Types를 추가하고 URL identifier에 값을 유일한 값을 입력한다. 그리고 item0에 URL Schemes를 추가하여 item0에 url scheme에 연결될 스키마 이름을 넣는다.
2. SaltfactoryAppDelegate.m에 다음 메소드를 추가한다.

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
	NSLog(@"handleOpenURL");
 
	NSString *URLString = [url absoluteString];
	NSString *message = [NSString stringWithFormat:@"URL: %@", URLString];
 
	UIAlertView *openURLAlert = [[UIAlertView alloc] initWithTitle:@"handleOpenURL:"
                                                       message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
 
	[openURLAlert show];
	[openURLAlert release];
 
	return YES;
}

참고
1. http://iphonedevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html
2. Touching the iPhone SDK 3.0

'프로그래밍 > iOS' 카테고리의 다른 글

NSXMLParser로 XML 데이터 얻어오기  (0) 2011.10.11
아이폰3GS와 아이폰4의 이미지 모두 맞추기  (0) 2011.10.11
페이지 넘김 효과 구현  (0) 2011.10.11
탭바와 피커  (0) 2011.10.07
이미지 늘리기  (0) 2011.10.07