canOpenUrl - Este aplicativo não tem permissão para consultar o instragrama do esquema


93

Estou tentando adicionar o url do Instagram ao meu aplicativo no iOS9, mas estou recebendo o seguinte aviso:

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

No entanto, eu adicionei o seguinte ao LSApplicationQueriesSchemesmeu info.plist;

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

Qualquer ajuda é muito apreciada?

EDITAR 1

Este é o código que estou usando para abrir o 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");
}

com base neste exemplo.


5
É porque você escreveu instragram em vez de instagram?
James P

2
@JamesP se dá um tapa na cara como eu perdi isso, mas eu consertei e o problema ainda persiste.
DevC

Respostas:


203
  1. Sua LSApplicationQueriesSchemesentrada deve ter apenas esquemas. Não há sentido para a segunda entrada.

    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>instagram</string>
    </array>
  2. Leia o erro. Você está tentando abrir o URL com um erro de digitação no esquema. Corrija sua referência a instragramem sua chamada para canOpenURL:.


1
Isso é constrangedor, eu li a mensagem de erro cerca de 30 vezes e continuei olhando. O erro agora desapareceu. O primeiro ponto também está correto, não houve necessidade da segunda entrada.
DevC

14
É como tentar revisar seu próprio artigo. Não funciona. Você continua vendo o que espera que seja, não o que realmente é.
rmaddy

6

Coloque apenas <string>instagram</string>. Não é necessário o caminho completo, mas sim a base da url do esquema.


5

Para o Facebook, quem precisa de:

<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
Isso não tem nada a ver com a questão.
rmaddy

isso não responde à pergunta real
Gulfam Khan

2
facebook possui instgram .. tosse
Ezos
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.