我想在iBooks App中打开特定文件。我正在使用UIDocumentsIntractionController将此文件发送到iBooks App。我的代码:

class ViewController : UIViewController {
 ...
 ...
     @IBOutlet var iBooksBtn: UIButton!
     @IBAction func book(sender: AnyObject) {
         let ibookPath = NSBundle.mainBundle().pathForResource("test1",ofType: "ibooks")!
         interactionController = UIDocumentInteractionController(URL: NSURL(fileURLWithPath:ibookPath))
         interactionController.UTI = "com.apple.ibooks"
         interactionController.presentOpenInMenuFromRect(CGRectZero,inView:self.iBooksBtn, animated:false)
    }
...
...

}

因此,现在我将此文件存储在mainBundle中,但将来我想从Internet下载它。所以当我按下按钮时,我得到的结果很少
选择:

ios - 从iOS应用程序自动打开.ibooks文件(Swift)-LMLPHP

但是我只想使用iBooks来打开此文件,而无需请求选择App(如图所示)。据我所知,我需要对* .ibooks文件使用UTI,我猜我使用的UTI是错误的。谢谢你的帮助。另外,自定义URL方案(ibooks://等)对我不起作用。

最佳答案

要打开iBook,您应该使用自定义网址方案:

要打开库:

NSString *stringURL = @"ibooks://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

要在特定书页上打开iBooks商店,您必须向该特定书添加完整的URL:
NSString *stringURL = @"itms-books://itunes.apple.com/de/book/marchen/id436945766";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

NSString *stringURL = @"itms-bookss://itunes.apple.com/de/book/marchen/id436945766";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

关于ios - 从iOS应用程序自动打开.ibooks文件(Swift),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34016833/

10-12 04:02