2012-05-11 3 views
8

사용자가 서로 전자 메일을 보내 데이터를 공유 할 수있는 응용 프로그램을 만들고 있습니다. 이 메일에는 내 앱에 대한 링크가 있습니다. (내 앱 URL 스키마를 만들었습니다.) 하지만 사용자가 iPhone에서 내 애플리케이션을 가지고 있지 않으면 링크를 클릭해도 아무런 반응이 없습니다.URL 체계 : 메일에서 App 또는 Appstore 열기

내 질문 : 나는 응용 프로그램이 사용자의 아이폰에 설치 될 때 내 응용 프로그램을 실행하고이 응용 프로그램은

를 설치하지 않은 경우 앱 스토어 또는 웹 사이트를 시작 할 수있는 방법을 주셔서 감사합니다

+0

두 개의 링크가 필요한 것 같습니다. – paulmelnikow

+0

"이 애플리케이션을 갖고 있지 않다면 여기를 클릭하십시오"와 유사합니까? –

+0

흠, 다른 가능성이있는 것처럼 보입니다 : http://stackoverflow.com/questions/1108693/is-it-possible-to-register-a-httpdomain-based-url-scheme-for-iphone-apps- like/1109200 # 1109200 – paulmelnikow

답변

6

canOpenURL 당신이 찾고있는 것입니다. 당신이 웹 페이지 또는 HTML 이메일에서이 작업을 수행 할 원한다면, 당신은 여기에 답변을 찾을

NSURL* twitterURL = [NSURL URLWithString:[NSString stringWithFormat:@"twitter:@%@", twitterUser]]; 

if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) { 
    [[UIApplication sharedApplication] openURL:twitterURL]; 
} else { 
    NSURL* url = [NSURL URLWithString:@"http://itunes.apple.com/us/app/twitter/id333903271?mt=8"]; 
    [[UIApplication sharedApplication] openURL:url]; 
} 

편집 : https://stackoverflow.com/a/627942/550177

다음

트위터 응용 프로그램을 실행하는 예입니다

및 여기 : https://stackoverflow.com/a/1109200/550177

+1

OP는 Mail.app의 링크에 대해 묻습니다. – paulmelnikow

+0

두 링크를 시도했지만 window.location = ...을 만들 수 없습니다. 이메일에서 작동하는지 확인 하시겠습니까? –

+0

아니요, HTML 코드에 JavaScript 코드를 삽입하는 방법을 모르겠습니다. 죄송합니다. – Felix

3

위의 답변은 구식입니다. 앱 스토어가 설치되어 있지만 앱 스토어로 안전하게 돌아가려면 앱을 열려면, 딥 케이스 링크 (https://branch.io)를 만들어야합니다. 엣지 케이스가 많고 필요한 경우 직접 빌드해야합니다. Javascript는 iOS의 모든 새 버전으로 계속 변경됩니다. 당신이 스스로를 개최하려는 경우

그러나, 당신은 myapp:// 앱에 대한 URI 방식이며, itms-apps://itunes.apple.com/app/yourappid 당신의 앱 스토어 URL입니다 다음 코드를 사용할 수 있습니다.

window.location = "myapp://"; 
setTimeout(function() { 
    window.location = "itms-apps://itunes.apple.com/app/yourappid"; 
}, 500); 

당신은 window.onload이 호출 할 수와 페이지가로드 한 후 안전하게 500 밀리 초 나중에 가게에 다시 떨어질 때 앱을 열려고합니다.