Я разрабатываю приложение, которое регистрирует собственный 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' или что-то еще, обозначающее, какое приложение было выбрано.