내 응용 프로그램에서 직접 AppStore 앱을 시작하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/226986

  •  03-07-2019
  •  | 
  •  

문제

앱에서 직접 iTunes 스토어를 시작하는 여러 앱을 사용했습니다. 2.1 iPod 2G에 일부를 사용하고 있습니다.

2.1에는 AppStore 링크가 Safari에서 작업하는 것을 방지하는 버그가 있다는 것을 알고 있지만, 사람들은 Safari를 통해서도 AppStore를 직접 시작하고 있습니다.

이 작업을 어떻게합니까? 문서화되지 않은 OpenUrl 기능입니까?

도움이 되었습니까?

해결책

iTunes에서 앱의 아이콘을 데스크탑으로 드래그하면 직접 사용할 수있는 링크가 제공됩니다 (예 : http://phobos.apple.com/webobjects/mzstore.woa/wa/viewsoftware?id=284036524&mt=8 데스크탑과 iPhone에서 appstore to crosswords를 시작합니다).

이것을 nsurl에 넣고 OpenUrl을 호출하십시오.

다른 팁

매우 간결하게 :

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/appname"]];

개발자를 위해 모든 앱으로 보내려면

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/developername"]];

이 작업은 iOS 4.1을 위해 작동합니다

또한보십시오앱 스토어에서 앱에 링크하는 방법

AppStore의 앱 검토 페이지를 바로 들어가는 방법을 알아 냈습니다.

기본적으로 아래처럼 완성되었습니다. 내 블로그를 읽으십시오. 게시하다 그것에 대해.

- (IBAction)gotoReviews:(id)sender
{
    NSString *str = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa";
    str = [NSString stringWithFormat:@"%@/wa/viewContentsUserReviews?", str]; 
    str = [NSString stringWithFormat:@"%@type=Purple+Software&id=", str];

    // Here is the app id from itunesconnect
    str = [NSString stringWithFormat:@"%@289382458", str]; 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
}

리뷰 대신 응용 프로그램의 세부 사항을 표시하려면 다음과 같은 URL을 사용할 수 있습니다.

NSString *appId    = @"app id";
NSString *endPoint = [NSString stringWithFormat:@"phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=%@&mt=8", appId];
NSString *link     = [NSString stringWithFormat:@"itms-apps://%@", endPoint];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:link]];

iOS 6.1로 iPhone에서 이것을 테스트했으며 즉시 App Store 앱으로 리디렉션됩니다.

Ben Gottlieb가 옳지 만 URL을 얻는 더 빠른 방법이 있습니다. iTunes의 응용 프로그램 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "iTunes Store URL 복사"를 선택할 수 있습니다.

그런 다음 전화하십시오 UIApplication openURL 그 위에.

"iTunes.apple.com"이 아닌 "phobos.apple.com"이라고 말하십시오.

전자는 앱 스토어를 직접 열고 후자는 먼저 Mobilesafari를 열고 App Store를 열 것입니다.

iTuneSconnect.apple.com에서 "응용 프로그램 관리"에서 appid를 얻을 수 있습니다.

iTunes 용 링크를 받고 싶지 않다면이 작업을 수행 할 수 있습니다.

  1. AppStore에서 앱을 선택하십시오
  2. 오른쪽 상단에있는 친구들 버튼을 클릭하십시오.
  3. 자신에게 링크를 이메일로 보내십시오

iTunes 링크가 그렇지 않은 시간 에이 작업을 수행했습니다.

제휴사 링크가 있고 중간에 Safari없이 직접 App Store 앱을 계속 열고 싶다면 숨겨진 uiwebview 또는 nsurlconnection을 사용할 수 있습니다. 후자는이 게시물을 참조하십시오 http://gamesfromwithin.com/handling-app-store-and-linkshare-links

다음은 내가 사용하고 언급 된 다양한 iOS 버전에 대해 테스트 한 코드입니다. 분명히 고객 ID를 귀하의 사람으로 변경하십시오.

- (void)showOurAppsInAppStore
{        
    NSString *searchUrl = nil;
    // iPad
    if ([DeviceController isDeviceAnIpad]) {
        searchUrl = @"itms-apps://itunes.apple.com/us/artist/seligman-ventures-ltd/id326161338";
    }
    // iPhone / iPod Touch
    else {
        // iOS 7+
        if ([DeviceController isDeviceOperatingSystemAtleast:@"7.0"]) {
            searchUrl = @"itms-apps://itunes.apple.com/artist/seligman-ventures-ltd/id326161338";
        }
        // iOS 6
        else if ([DeviceController isDeviceOperatingSystemAtleast:@"6.0"]) {
            searchUrl = @"itms-apps://ax.itunes.apple.com/artist/seligman-ventures-ltd/id326161338";
        }
        // Pre iOS 6
        else {
            NSString *companyName = @"Seligman Ventures";
            searchUrl = [NSString stringWithFormat:@"http://phobos.apple.com/WebObjects/MZSearch.woa/wa/search?WOURLEncoding=ISO8859_1&lang=1&output=lm&country=US&term=%@&media=software", [companyName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        }
    }

    [[UIApplication sharedApplication] openURL: [NSURL URLWithString:searchUrl]];
}

앱을 공개하는 경우 ... "앱 ID #"가 없을 것입니다 ... 따라서 해당 방법 중 어느 것도 작동하지 않습니다.

v1.0에 "비 작업 링크"를 삽입해야했고 나중에 v1.1 업데이트에서 ... 실제 링크와 앱 ID #을 추가했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top