与 iOS 应用程序共享的 iBooks

iBooks sharing with iOS Application

我有一个关于 iBooks 共享的问题。

我想用我的 iOS 应用程序从 iBooks 打开一本书。为了创建这个,我指定了内容类型:

<dict>
    <key>CFBundleTypeName</key>
    <string>All Files</string>
    <key>LSHandlerRank</key>
    <string>Alternate</string>
    <key>LSItemContentTypes</key>
    <array>
        <string>public.calendar-event</string>
        <string>public.database</string>
        <string>public.executable</string>
        <string>public.data</string>
        <string>public.content </string>
        <string>public.item</string>
    </array>
</dict>

据我了解,这应该包含所有可用文件。然而,当我从 iBooks 共享文档时,我的应用程序选择没有显示:https://drive.google.com/file/d/0B6ycu14tT4SGeExGZV9Ca3ZJeEk/view?usp=sharing

问题出在哪里?

当应用试图使用 UIDocumentInteractionController (Document Interaction Programming Topics for iOS)直接打开文件时,会使用这些内容类型

iBooks 显示的是一个共享对话框,如果你想出现在那里,你唯一的选择可能是使用应用程序扩展(App Extension Programming Guide)

无论如何,您不会从中得到太多,因为 iBooks 分享的只是 title/author 的书和 iTunes link 如果从那里购买,而不是实际的书(你知道,DRM 和东西...)

2019 年更新:

您现在可以通过包含要打开的图书的 assetid 来打开特定图书的 iBooks。示例:

ibooks://assetid/1396541327

Apple.com 网站上提供了详细信息 - https://support.apple.com/en-us/HT202929