Как приложения других разработчиков могут узнать, что они поделились файлами с моим приложением? - PullRequest
1 голос
/ 04 июля 2019

Я разрабатываю приложение, которое регистрирует собственный UTI. Когда приложение другого разработчика делится файлом с таким типом, как они узнают, что это определенно мое приложение, которое было открыто?

В настоящее время типом активности, который возвращается в приложениях общего доступа «UIActivityItemSource», является «com.apple.UIKit.activity.RemoteOpenInApplication-ByCopy».

Но если это, например, приложение Notes, типом деятельности будет com.apple.mobilenotes.SharingExtension. Как зарегистрировать уникальный тип активности, который может получить приложение для обмена?

/* 
Example of how the other developers would be sharing data to my app 
after calling UIActivityViewController with this OtherDevelopersAppActivityItemSource 
*/
class OtherDevelopersAppActivityItemSource: NSObject, UIActivityItemSource {            
    func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivityType?) -> Any?
    {        
        guard let _activityType = activityType else { return nil }

        // this is probably my app that the user has selected??
        if _activityType.rawValue == "com.apple.UIKit.activity.RemoteOpenInApplication-ByCopy" {
            return "a large amount of data from the other developers app for my app"
        }
        else {
            return nil
        }
    }        
}

Я ожидал, что переменная ActivityType будет 'com.mycompany.myapp' или что-то еще, обозначающее, какое приложение было выбрано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...