canOpenUrl: esta aplicación no puede consultar el esquema de instragram


93

Estoy tratando de agregar la URL de Instagram a mi aplicación en iOS9, sin embargo, recibo la siguiente advertencia:

-canOpenURL: failed for URL: "instragram://media?id=MEDIA_ID" - error: "This app is not allowed to query for scheme instragram"

Sin embargo, he agregado lo siguiente a LSApplicationQueriesSchemesmi info.plist;

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>instagram</string>
    <string>instagram://media?id=MEDIA_ID</string>//this one seems to be the issue
</array>

¿Cualquier ayuda es muy apreciada?

EDITAR 1

Este es el código que estoy usando para abrir Instagram:

 NSURL * instagramURL = [NSURL URLWithString:@"instragram://media?id=MEDIA_ID"];//edit: note, to anyone copy pasting this code, please notice the typo OP has in the url, that being "instragram" instead of "instagram". This typo was discovered after this StackOverflow question was posted.
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
    //do stuff
}
else{
    NSLog(@"NO instgram found");
}

basado en este ejemplo.


5
¿Es porque escribiste instragram en lugar de instagram?
James P

2
@JamesP se abofetea a sí mismo, ¿cómo me perdí eso, pero lo arreglé y el problema persiste?
DevC

Respuestas:


204
  1. Su LSApplicationQueriesSchemesentrada solo debe tener esquemas. No tiene sentido la segunda entrada.

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>instagram</string>
    </array>
  2. Lea el error. Está intentando abrir la URL con un error tipográfico en el esquema. Fije su referencia a instragramen su llamada a canOpenURL:.


1
Es vergonzoso, leí el mensaje de error unas 30 veces y seguí mirándolo. El error ya desapareció. El primer punto también es correcto, no hubo necesidad de la segunda entrada.
DevC

15
Es como intentar revisar tu propio trabajo. No funciona. Sigues viendo lo que esperas que sea, no lo que realmente es.
rmaddy

6

Ponga solo <string>instagram</string>. No es necesaria la ruta completa, sino la base de la URL del esquema.


5

Para Facebook que lo necesita:

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fbauth</string>
        <string>fbauth2</string>
        <string>fb-messenger-api20140430</string>
        <string>fbapi20130214</string>
        <string>fbapi20130410</string>
        <string>fbapi20130702</string>
        <string>fbapi20131010</string>
        <string>fbapi20131219</string>
        <string>fbapi20140410</string>
        <string>fbapi20140116</string>
        <string>fbapi20150313</string>
        <string>fbapi20150629</string>
        <string>fbshareextension</string>
    </array>

5
Esto no tiene nada que ver con la pregunta.
rmaddy

esto no responde a la pregunta real
Gulfam Khan

2
facebook posee instgram .. tos
Ezos
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.