2016-07-19 22 views
0

Ich muss einen Link über meine App zu Google Mail teilen. Danach klicken Sie auf den freigegebenen Link, um die App zu öffnen. Ich habe dies nach einem Tutorial getan, aber der geteilte Link verhält sich nicht wie ein Link. Die Art und Weise:Weitergeleitetes benutzerdefiniertes registriertes URL-Schema funktionierte nicht als Link in iOS?

das URL-Schema Registriert:

<key>CFBundleURLTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleURLName</key> 
      <string>com.appName</string> 
      <key>CFBundleURLSchemes</key> 
      <array> 
       <string>appName</string> 
      </array> 
     </dict> 
    </array> 

sendet die E-Mail mailcomposer mit:

[body appendString:[NSString stringWithFormat:@"<a href=\"appName://appName.com/%@\">http://appName.com/%@</a><br><br>",parameter, parameter]]; 

Ich bin in der Lage E-Mail zu senden, aber der gemeinsame Link nicht als Link geteilt. Es wird als normale Textzeile geteilt. Was läuft falsch? bitte hilfe.

Antwort

1

Benutzerdefinierte URL-Schemata (wie appName://) werden oft nicht als Links in anderen Apps behandelt. Stattdessen können Sie diese appspezifische URL in einen Link einfügen, den andere Apps erkennen können (beginnend mit http:// oder https://), und dann eine Art Weiterleitung zum URL-Schema Ihrer App vornehmen. So haben wir die Dinge bei Branch.io gehandhabt.

Leider ist dies auch keine vollständige Lösung, da iOS 9 Universal Links eingeführt und URL-Schemata weniger funktionsfähig gemacht hat. Sie müssen wahrscheinlich beide implementieren.

+0

Wenn ich auf den http: // Link klicke, wie wird die App auf den Link reagieren? –

+0

Wenn Sie Universelle Links konfigurieren, löst iOS die App automatisch basierend auf der URL http: // selbst aus. Andernfalls müssen Sie eine Art Umleitung zum App-URL-Schema auf dem Server durchführen, der die http: // Zielseite hostet. Es ist ein bisschen mühsam, sich einzurichten ... definitiv Branch.io einen Blick zu geben, denn wir automatisieren all das als kostenlosen Service. –