在我的应用程序中,我在UIWebView中显示HTML内容。 HTML内容从服务器下载并存储在iPad的文件系统中以启用离线使用。 HTML在其CSS文件中使用自定义字体@ font-face:
@font-face {font-family: 'CustomFont'; src: url(Custom-Font.otf);}
为了使这项工作,字体.otf
文件也会下载并存储在iPad的文件系统中。
问题是,现在任何可以访问他的iPad文件系统的人都可以使用该字体(如果你使用像IExplorer这样的东西,那就很容易了)。
这会导致一些法律问题,因为大多数字体提供商都不允许他们的字体自由分发(实际上,当我使用这种方法时)。
我的问题:有没有办法,如何在文件系统中加密字体并在UIWebView尝试加载时解密它们?
答案 0 :(得分:0)
请参阅“iOS应用程序编程指南”中的Protecting Data Using On-Disk Encryption:
在iOS 4及更高版本中,应用可以使用数据保护功能添加 磁盘数据的安全级别。数据保护使用 特定设备上存在的内置加密硬件(例如 iPhone 3GS和iPhone 4)以加密格式存储文件 磁盘。当用户的设备被锁定时,受保护的文件就是 即使是创建它们的应用程序也无法访问。用户必须 明确解锁设备(通过输入适当的密码) 在您的应用可以访问其中一个受保护的文件之前至少一次。
我没有对此进行测试,但我强烈认为iExplorer无法读取加密文件。
答案 1 :(得分:0)
我找到了一个效果很好的解决方案:Robin Summerhill在如何使用Apple的CommonCrypto API和自定义URL协议保护iOS应用中的资源方面写了一篇很棒的tutorial。您可以使用它来加密所有嵌入的资源,它也适用于字体。
答案 2 :(得分:0)
如果您没有来自字体提供商的许可证来重新分发其字体,那么通过将它们嵌入到您的应用程序中,您就会侵犯版权。加密文件不会改变这一点。