Frage

Ich bin in dieser Situation, wo ich habe eine Schaltfläche angezeigt werden, das besagt, „Open myApp“ (wenn myApp auf dem Gerät installiert ist) oder es sagt „Download myApp“ (wenn myApp nicht auf dem Gerät installiert ist) in einem iphone App. Um dies zu tun, muß ich, ob eine App erkennen (mit einer bekannten benutzerdefinierten URL) auf dem Gerät installiert wurde. Wie kann ich das machen? Vielen Dank im Voraus.

War es hilfreich?

Lösung

AKTUALISIERT 8. Januar 2014 - 3 Dinge, die Sie tun können:

Ich hatte eigentlich diese wieder für einen Kunden zu tun. Sie wollten Benutzer in der Lage sein, ihre zweite App aus dem Haupt-App zu öffnen, wenn es installiert worden war.

Das ist meine Erkenntnis. Verwenden Sie die canOpenURL Methode zu überprüfen, ob eine App installiert ist, oder / und verwenden Sie dann die openURL Methode

  1. Öffnen Sie die Anwendung auf dem iOS-Gerät installiert
  2. Nehmen Sie den Benutzer auf den App Store direkt sie an die app / Liste der Entwickler Anwendungen zeigen
  3. Nehmen Sie sich stattdessen auf eine Website

Alle Codebeispiele für jedes Szenario

//Find out if the application has been installed on the iOS device
- (BOOL)isMyAppInstalled { 
    return [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"nameOfMyApp:"]]; 
} 

- (IBAction)openOrDownloadApp { 
    //This will return true if the app is installed on the iOS device
    if ([self myAppIsInstalled]){
        //Opens the application
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"nameOfMyApp:"]]; 
    } 
    else { //App is not installed so do one of following:

        //1. Take the user to the apple store so they can download the app
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/nameOfMyApp"]]; 

        //OR

        //2. Take the user to a list of applications from a developer
        //or company exclude all punctuation and space characters. 
        //for example 'Pavan's Apps'
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/PavansApps"]];

        //OR

        //3. Take your users to a website instead, with maybe instructions/information
         [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.pavan.com/WhyTheHellDidTheAppNotOpen_what_now.html"]];

    } 
}

Wählen Sie eine Option, ich habe die Qual Sie nur mit Wahl. Wählen Sie eine, die Ihren Anforderungen entspricht. In meinem Fall hatte ich alle drei Optionen in den verschiedenen Bereichen des Programms zu verwenden.

Andere Tipps

Wenn das URL-Schema für Ihre Anwendung ist "myapp", dann

BOOL myAppInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"myapp:"]];

(Erfordert iOS 3.0.)

App Um zu überprüfen, ist in dem Gerät installieren oder nicht

1) In info.plist add LSApplicationQueriesSchemes wie unter Beispiel

 image description hier

eingeben

2) und in URL-Typen

 image description hier

eingeben

3) Nun zu Check App installieren oder nicht

- (IBAction)openAppPressed:(UIButton *)sender {
    NSString *urlString = @"XYZAPP://";
    NSURL *url = [NSURL URLWithString:urlString];

    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
    }
    else {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itunes link for download app"]];
    }
}

Sie können einen einfachen Meta-Tag im Kopf jeder Seite hinzufügen, die dieses app-Sniffing muss.

Für weitere Informationen, gehen Sie hier:

http://developer.apple .com / library / ios / # Dokumentation / AppleApplications / Reference / SafariWebContent / PromotingAppswithAppBanners / PromotingAppswithAppBanners.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top