2016-06-28 4 views
1

J'essaie donc d'ajouter un schéma d'URL personnalisé à mon application. Tout fonctionne. La partie confuse est que lorsqu'un utilisateur est redirigé, il met en place une boîte de dialogue qui dit:Ouvrir dans "(null)"? dialogue dans iOS 9

Ouvrir dans "(null)"?

Je ne peux pas comprendre pourquoi il est dit null et pas le nom de l'application. Le seul autre endroit que je suis en mesure de voir ce problème est mentionné ici:

'Open this page in "null"' Modal appearing from FacebookSDK login after iOS9 and Swift 2 upgrade

mais qui parle de la mise à jour du dernier SDK. Il mentionne la liste blanche du schéma que j'ai essayé d'utiliser en utilisant LSApplicationQueriesSchemes mais cela ne semble pas le résoudre non plus.

Répondre

1

Donc, dans mon cas, il a fini par être que les personnes suivantes ont obtenu ajouté à mon Info.plist:

<key>CFBundleDisplayName</key> 
<string></string> 

enlevant cette clé ou de donner une valeur de chaîne non vide, il résout le problème et les causes de donner: Ouvrir dans "nom de l'application" ?.

1

La valeur de cette boîte de dialogue est spécifiée dans Paramètres de construction -> Conditionnement -> Nom du produit. Par hasard, ce champ est-il en quelque sorte vide? Habituellement, la construction devrait échouer si oui, et probablement vous auriez également noté quelque chose de mal sur l'écran d'accueil, mais qui sait!

En remarque, les schémas d'URL ne sont plus une solution infaillible pour gérer les liens profonds et sont activement déconseillés par Apple. Au minimum, vous devez également implémenter Universal Links, mais même cela n'est pas une solution complète en raison des variations dans la façon dont les autres applications (Facebook, etc.) traitent les liens sortants. Vous pouvez envisager un outil comme Branch.io (divulgation complète: je suis sur l'équipe de la branche) pour donner un coup de main avec toute la logistique.

+1

Merci pour l'entrée. J'ai vérifié le nom du produit et comme prévu c'est correct. J'ai regardé dans des liens universels mais dans ce cas là il n'y a aucune page de site Web que je les prendrais. C'est pour l'authentification Oauth et ainsi il devrait seulement revenir à l'application. Dans mes tests, il semblait parfois fonctionner de l'envoyer à l'application et parfois pas où, comme autre que ce message étrange, la méthode de schéma d'URL fonctionne correctement à chaque fois. –

+0

Hmm ... rien d'autre ne me vient à l'esprit immédiatement. Avez-vous essayé le produit -> propre? –

+0

Juste essayé de nouveau pour s'assurer que j'avais et oui même chose. –

0

Je trouve cela à propos de la liste blanche urlschemes pour iOS 9 (found answer here)

Toute application construite avec SDK 9 doit fournir une entrée LSApplicationQueriesSchemes dans son fichier plist, déclarant que les systèmes qu'il tente d'interroger.

<key>LSApplicationQueriesSchemes</key> 
<array> 
<string>urlscheme</string> 
<string>urlscheme2</string> 
<string>urlscheme3</string> 
<string>urlscheme4</string> 
</array> 

Cela a fonctionné pour moi à se débarrasser.

+0

Merci à tous. Comme vous pouvez le voir dans ma question, j'ai essayé d'ajouter LSApplicationQueriesSchemes mais cela ne l'a pas corrigé pour moi. Cela semble traiter d'appeler un urlscheme de l'application que je ne fais pas. J'appelle le schéma d'URL de Safari. Quel problème a ajouté cette solution pour vous? –