UIApplicationDelegate openURL的SourceApplication参数应该是否为零?

JFa*_*Far 5 objective-c ios

我的iOS应用程序通过UIApplicationDelegate的openURL方法从其他iOS应用程序接收文件.我在我的应用程序中使用NSString*SourceApplication参数来跟踪将文件发送到我的应用程序的应用程序的名称.

在iOS7中,SourceApplication参数始终使用"getdropbox.dropbox","google.Drive"或"evernote.iPhone.evernote"等字符串填充.

在我(以及我的应用程序的其他几个用户)升级到iOS8之后,SourceApplication参数似乎总是为零.url参数使用发送到我的应用程序的文件的URL正确填充.似乎只有SourceApplication参数的行为可能已经改变了iOS8.

还有其他人在iOS8上看到这个吗?在iOS8中我发现了一些我不知道的变化吗?这是iOS错误吗?

OpenURL的UIApplicationDelegate协议参考

ben*_*enc 0

iOS 9+

除非应用程序是由您的团队创建的,否则该值为零

文档说

该键的值是一个 NSString 对象,其中包含发出请求的应用程序的捆绑 ID。如果请求源自属于您团队的另一个应用程序,UIKit 会将此键的值设置为该应用程序的 ID。如果原始应用程序的团队标识符与当前应用程序的团队标识符不同,则该键的值为 nil。

如果您“跳转到 sourceApplication 的定义”,您会看到

extension UIApplication.OpenURLOptionsKey {

    @available(iOS 9.0, *)
    public static let sourceApplication: UIApplication.OpenURLOptionsKey
Run Code Online (Sandbox Code Playgroud)

(目前,我怀疑是否有任何可用文档来解释 iOS 8 中报告的行为。)