在另一个应用程序中访问的 iPhone NSURL 字符串/HTML 本地应用程序资源
Posted
技术标签:
【中文标题】在另一个应用程序中访问的 iPhone NSURL 字符串/HTML 本地应用程序资源【英文标题】:iPhone NSURL String/HTML Local App Resource Accessed in Another Application 【发布时间】:2010-01-11 10:45:54 【问题描述】:使用 iPhone SDK:3.0(固件 3.1.2)
我是 iPhone 开发的新手,在这里和谷歌研究了几个小时,但没有运气。问题来了:
我有一本 epub 格式的电子书,我想在应用商店出售,但应用商店要求 epub 必须包含在 iphone 应用程序中。因此,我决定制作一个应用程序,将我的电子书安装到 Stanza 或任何其他数量的 iPhone 电子书阅读器中。
所以,我使用的第一种方法是使用 NSURL(使用 stanza 协议)指向托管在网站上的 epub,例如(节://www.myebooks.gov/mybook.epub)。这工作得很好,并将 epub 加载到节中。不过……
为了最大程度地降低我的书很容易被盗版的风险,我想将 epub 作为资源包含在我的应用程序中,并将该资源传递给 Stanza 或通过指向文件系统的本地 URL 兼容的任何其他电子书阅读器(例如 stanza://var/mobile/Applications/GUID/*.app/ebook.epub)或其他方法。
我尝试加载 UIWebView,告诉它加载本地资源(例如 stalking.html)并在 html 文件中将 *.epub 链接为 ,但这也不起作用。我试过没有它的“../”和多种变体,看看是否有任何效果。
我也试过: NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"ebookTitle" ofType:@"epub"]; resourcePath = [NSString stringWithFormat:@"stanza://%@", resourcePath]; NSURL *resourceUrl = [NSURL URLWitHString:resourcePath];
[webView loadHTMLString:resourcePath baseURL:resourceUrl];
它打开节,但节显示路径只是“var/mobile/Applications/...”而不是“/var/mobile/Applications/...”我不知道这是否是唯一的问题或者如果整个事情基于权限/安全/等失败。
这似乎是有可能的,但由于沙盒和其他我不知道的安全功能,我对此表示怀疑。
谢谢,任何可以提供帮助的人。 :)
【问题讨论】:
*** 删除了我在“...”行中发布的链接,并且在将 *.epub 链接为...的 html 文件中它应该说:“stanza://.. /../../../var/mobile/Applications/AppID/AppName/ebook.epub" 【参考方案1】:您无法访问其他 iPhone 应用程序的资源。这是 iPhone 操作系统的安全沙盒。
【讨论】:
谢谢。感谢您的帮助。【参考方案2】:据我所知,您的应用无法访问其他应用的沙箱,这意味着您必须让您的图书应用自包含。
【讨论】:
以上是关于在另一个应用程序中访问的 iPhone NSURL 字符串/HTML 本地应用程序资源的主要内容,如果未能解决你的问题,请参考以下文章