【问题标题】:Open Epub directly inside app Swift直接在应用 Swift 中打开 Epub
【发布时间】:2016-12-12 13:18:50
【问题描述】:

我正在尝试直接在我的 iOS 应用中打开一个 ePub 文件。

问题是我需要用户来保存一些笔记。

到目前为止,我一直在使用:

https://github.com/FolioReader/FolioReaderKit

图书馆。

有什么方法可以在应用程序中打开 iBooks?

不幸的是,现在无法使用UIDocumentationController 打开。

还有其他我可以做到的库吗?

谢谢

【问题讨论】:

  • 你需要什么样的笔记,突出显示?
  • 不,写一些笔记@HebertiAlmeida

标签: ios iphone swift epub


【解决方案1】:

今天 FolioReaderKit 不支持像 iBooks 这样的笔记,尽管它在我们的路线图中。你可以加入#16的讨论,屏幕已经设计好了,还有关于实现的讨论。

关于 iBooks,没有办法在您的应用程序中使用它。

【讨论】:

【解决方案2】:

我不知道可以解决您的问题的库,但可能是解决方案

【讨论】:

    【解决方案3】:

    首先,有一个已弃用的库FolioReaderKit,它可以很好地展示不同的 *.epub 文件。但是它没有被维护,并且正在使用 UIWebView 这将阻止应用程序使用它上传到 AppStore。

    其次,我发现的唯一实际开箱即用的 iOS SDK 为您提供完整的 UI 解决方案是 skyepubAdobe,它们部分要求付款。

    但是环顾一下鳕鱼、示例和教程,我学到了很多...

    在逃避了很多之后,我得出了以下结论:

    1. EPUB 基本上是一个包含在网站中的 zip 文件,通常包括一些带有一些图片、css 和字体的 index.html 文件。 What is an EPUB.

    2. 要在 iOS 上本地提供 EPUB,您必须在本地解析解压缩并提供其背后的主文件(我们再次讨论 html 文件的主要用例)。您可以使用不同的库,例如EPUBKit

    3. 您可能需要在解析本地文件时允许访问它们,这可能需要允许非 tls 请求...

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0">
      <dict>
      <key>NSAllowsArbitraryLoads</key> <true/> 
      <key>NSExceptionDomains</key> <dict>
      <key>localhost</key> <dict>
      <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/>  
      <key>NSExceptionMinimumTLSVersion</key> <string>TLSv1.2</string>  
      <key>NSExceptionRequiresForwardSecrecy</key> <true/>
      <key>NSIncludesSubdomains</key> <true/>
      <key>NSRequiresCertificateTransparency</key> <false/>
      <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> <true/>   
      <key>NSThirdPartyExceptionMinimumTLSVersion</key <string>TLSv1.2</string>    
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <true/>
      </dict> 
      </dict>
      </dict> 
      </plist>
      
    4. 您可能需要添加自定义 css 和 js 代码(在您将用于加载 html 文件的 WKWebView 中进行评估)以适应您希望提供的 UI。 对我有很大帮助的一个很好的例子是 Style.css 和 Bridge.js 文件以及它们在FolioReaderKit中的用法

    希望它能对 EPUB 和 iOS 有所启发

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多