iOS - странная проблема openURL, открывающая неправильное приложение - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть приложение в prod, и есть функция, которая открывает приложение Instagram для пользователя, чтобы опубликовать фотографию. Он отлично работает, если только у пользователя не установлено это приложение гороскопа , а затем, когда пользователь нажимает кнопку, вместо инстаграм открывается приложение гороскопа.

Означает ли это, что приложение гороскопа имеет ту же схему URL, что и instagram? Существуют ли какие-либо встроенные средства защиты, предотвращающие использование другими приложениями вашей схемы URL?

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Для меня это происходило потому, что я добавил ключ "googlegmail" к ключу "Схемы URL" в файле Info.plist вместо ключа "LSApplicationQueriesSchemes".

Ключ LSApplicationQueriesSchemes был правильным для добавления «googlegmail», чтобы иметь возможность открывать gmail из моего приложения.

Наличие ключа "googlegmail" в разделе "Схемы URL" фактически говорит iOS, что мое приложение может открывать URL с префиксом URL googlegmail: //, что неверно, поскольку мое приложение не является gmail.

0 голосов
/ 06 ноября 2018

Apple не применяет уникальные имена для схем приложений. Если вы используете ту же схему, что и другое приложение, iOS не сможет узнать, какое приложение запустить. Так что да, оба приложения используют одну и ту же схему URL. Вы можете использовать Document Interaction API, если вы просто хотите поделиться через Instagram. Вы можете найти больше информации ЗДЕСЬ

...