2014-04-01 13 views
8

starten Ich muss in der Lage sein, meine iOS-App aus dem Safari-Browser zu starten. Also ging ich zu meiner .plist Datei in xcode und fügte ein Element zu meinen URL Schemes hinzu und gab es in der Zeichenfolge myappname ein.Erhalten Sie immer die Warnmeldung "Öffnen Sie diese Seite in YourAppName?" Wenn ich versuche, App von Safari

Nun, wenn ich auf Safari gehen, und geben myappname:// in der Adressleiste URL und legt ihn, es zeigt mir ein UIAlertView, die für Cancel und OpenOpen this page in "MyAppName"? mit Optionen sagt.

Wenn ich tippe Open es erfolgreich öffnet meine App, aber ich möchte dies ohne die UIAlertView Pop-up mit dieser Nachricht tun.

Ich habe ein paar schnelle Online-Suche gemacht und es sieht so aus, als würden die Leute immer wieder Probleme damit haben, wenn ein neues iOS-Update herauskommt und ich keine neue Lösung oder Antwort finden kann.

Ich bin auf einem iPhone 4s mit iOS 7.1, und ich benutze xcode 5.1, wenn das einen Unterschied macht.

Außerdem habe ich eine App wurde unter Verwendung von in den App Store namens „Frontback“, die erfolgreich erledigt diese gleiche Sache ohne die UIAlertView in Safari zeigt so dies auf jeden Fall möglich ist.

Danke für die Hilfe.

+0

was ein Beispiel für das URL-Schema ist, dass Sie die App öffnen verwenden möchten? oder ist das irrelevant du willst nur die app wann immer etwas wie hi öffnen: //this_is_my_app.cool –

+0

ich denke, das ist irrelevant XD –

+0

Das URL-Schema, das ich oben beschrieben funktioniert perfekt. Ich möchte nur die UIAlertView loswerden. – user3344977

Antwort

2

Ich verwende diese Methode in meiner App ohne eine UIAlertView zu erhalten. Es geht einfach direkt zur App.

Ich hatte ein ähnliches Problem, als ich anfing, es zu implementieren. Ich vermute, dass es kein Problem mit myappname:// ist, aber möglicherweise ein Problem damit, wie Sie das URL-Schema hinzugefügt haben.

Stellen Sie sicher, dass Sie Ihren benutzerdefinierten Wert (myappname) dem Objekt URL Identifier (com.mycompany.myappname) zuweisen. Die URL identifier sollte ein String sein und die URL Schemes sollte ein Array mit Ihrem benutzerdefinierten Wert ein String sein.

Die XML-Version Ihrer .plist sollte wie folgt aussehen:

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLName</key> 
     <string>com.mycompany.myappname</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>myappname</string> 
     </array> 
    </dict> 
</array> 
+0

"Ich vermute, dass es kein Problem mit myappname: // ist, aber möglicherweise ein Problem mit, wie Sie das URL-Schema hinzugefügt." - Sie haben wahrscheinlich Recht.Ich habe das vor langer Zeit gefragt, und ich glaube, ich wusste einfach nicht genug über das, was ich nicht wusste, um das Problem zu verstehen. – user3344977

+1

So können Sie die App ohne Anzeige der Warnmeldung öffnen, indem Sie ein benutzerdefiniertes URL-Schema verwenden? Das Anzeigen des Alarms scheint das Standardverhalten in iOS 9+ zu sein. Würde gerne wissen, ob Ihr Ansatz funktioniert, weil der Alarm immer noch erscheint, auch wenn Sie diese Antwort befolgen. – Crashalot