2016-06-01 20 views
2

Ich arbeite an einer App, in der eine Benutzerbestätigungs-Mail an Benutzer-E-Mail gesendet wird. Ich kann die Mail in diesem Format "http://www.sample.com//Register.aspx?xxx(with Parameter" empfangen. Jetzt auf Klick dieser Mail muss ich die Registrierungsseite in iOS9 starten.URL-Schema funktioniert nicht in iOS9

Hinweis: Wenn ich Register.aspx: // in Safari-App eingeben öffnet, aber nicht von E-Mail-URL.

ich die folgenden Dinge in info.plist getan haben und in Code 1.info.plist

<key>CFBundleURLTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleURLSchemes</key> 
      <array> 
       <string>Register.aspx</string> 
      </array> 
     </dict> 
    </array> 
<key>LSApplicationQueriesSchemes</key> 
    <array> 
     <string>Register.aspx</string> 
    </array> 

2.in AppDelegate i verwendet:

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 

    BOOL canBeOpened = [[UIApplication sharedApplication] 
         canOpenURL:[NSURL URLWithString:@"Register.aspx://"]]; 

    if (canBeOpened) { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test Message" 
                 message:@"This is a url scheme" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [alert show]; 

    } 
    else{ 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test Message" 
                 message:@"This is not a url scheme" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [alert show]; 

    } 
} 

Antwort

3

Sie registrieren die falsche Teil der URL als Schema. Das von Ihnen angegebene Beispiel hat ein Standard-URL-Schema von http. Das Bit der URL vor dem ersten Doppelpunkt ist das Schema (normalerweise http oder https). Um ein benutzerdefiniertes Schema zu verwenden, müssen Sie ein neues Schema für die URL bilden und Ausgabe, die URL in Ihrer E-Mail zB:

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>mycoolapp</string> 
     </array> 
    </dict> 
</array> 
<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>mycoolapp</string> 
</array> 

benötigt eine E-Mail mit einer URL wie:

mycoolapp://www.sample.com/Register.aspx