iOS 7 接收空投文件

Posted

技术标签:

【中文标题】iOS 7 接收空投文件【英文标题】:iOS 7 receiving airdrop files 【发布时间】:2013-09-13 18:33:57 【问题描述】:

我正在尝试让我的应用在文件被空投时注册。

根据苹果

要接收通过 AirDrop 发送的文件,请执行以下操作: 在 Xcode 中,声明对您的应用支持的文档类型的支持。 (Xcode 将适当的键添加到您的应用程序的 Info.plist 文件中。)系统使用此信息来确定您的应用程序是否可以打开给定文件。 在您的应用委托中实现 application:openURL:sourceApplication:annotation: 方法。 (系统在收到新文件时调用此方法。)

我将该方法添加到我的应用委托中。我在两台设备上都运行 ios7 GM。 我在我的应用程序列表中添加了以下文档类型

<key>CFBundleDocumentTypes</key>
<array>
        <dict>
            <key>CFBundleTypeIconFiles</key>
            <array/>
            <key>CFBundleTypeName</key>
            <string>images</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>public.jpeg</string>
                <string>public.image</string>
                <string>public.png</string>
                <string>public.camera-raw-image</string>
                <string>public.content</string>
            </array>
        </dict>
    </array>

据我所知,我的应用程序永远不会调用 openUrl 方法。我究竟做错了什么?我是否必须启用其他功能才能在我的应用中注册空投?

【问题讨论】:

【参考方案1】:

即使安装了我知道的其他应用程序,通过 iMessage 发送的图像(Evernote、GoToMeeting、Halftone、DropBox)也会显示在操作表中,但当有人通过 AirDrop 向我发送图像时,它不会提示我选择一个应用程序来打开它。由于没有这方面的文档,我怀疑 Apple 将其视为试图让您的应用程序出现在邮件附件中图像的操作表中(它们只是没有出现)。我想这是因为他们不希望用户对发送给他们的图像没有出现在照片应用程序中感到困惑。

【讨论】:

iOS 7 的官方版本是这样吗?通过空投接收文件时,我还没有看到这样的选项。 @Alex1987 不确定您在问什么 - 无法将通过 AirDrop 接收的文件发送到特定应用程序。应用程序可以注册以处理自定义文件类型,如果它是唯一注册的应用程序,我相信它会在通过 AirDrop 接收文件时由 iOS 启动(但我没有尝试确认) 我的意思是每当我通过空投收到文件时。操作系统不会显示询问使用哪个应用程序打开文件的弹出窗口。 这就是我的意思——你发送的文件是 Apple 不希望用户对他们用它做了什么感到困惑(或者如果你喜欢偏执理论,他们想把用户困在他们的应用,而不是你的)。 当我使用 excel 文件测试我的空投应用程序时,它会提示在我的应用程序中打开它。看起来苹果保留拦截媒体类型文件空投的权利。一种选择是在您的应用中将图像转换为自定义格式,然后将其发送到另一个应用,然后进行解码。

以上是关于iOS 7 接收空投文件的主要内容,如果未能解决你的问题,请参考以下文章

iOS 通过 iPhone 接收器(手机扬声器)播放音频

swift 笔记:iOS与JavaScript的交互(三):WKWebView 3. WKUiDelegate - 7.2申明接收到了「暗号」之后需要对获得的数据执行的操作

iOS中加密-发送-保存-接收文件

无法在联系表格 7 插件中接收附件

从 swift 文件发送通知并在 ios 的目标 c 文件中接收

Servlet文件接收