Я использую OpenURL
из многих приложений для открытия приложения A. Я хотел бы знать исходное приложение, которое открыло приложение A. Есть ли способ его найти?
Скажем, у меня есть следующие приложения, открывающие приложение Messenger
с помощью кода
UIApplication.sharedApplication().openURL(NSURL(string: "messenger://receiveMedia")!)
- Фотографии (через которые я могу делиться изображениями)
- WhatsApp (через который я могу обмениваться текстом или изображениями)
- Инстаграм
Теперь я хочу выяснить, какое из упомянутых выше приложений открыло Messenger
. Есть ли способ отличить источник?
application:openURL:options:
вызывается, его словарьoptions
будет содержать ключUIApplicationLaunchOptionsSourceApplicationKey
, который будет иметь значение пакета исходного приложения. Это то, что вы ищите? - person Losiowaty   schedule 26.08.2016let appName = NSBundle.mainBundle().infoDictionary?[sourceApplication!] as? String
дает только ноль и не дает имени. - person Manju Basha   schedule 26.08.2016bundleWithIdentifier
, например, второй фрагмент кода здесь: stackoverflow.com/a/14023717/765298. Тем не менее, по-прежнему кажется, что запрос itunes.apple.com/lookup?bundleId=com. bundle.id, как указано в вопросе, будет вашим лучшим вариантом. - person Losiowaty   schedule 26.08.2016