2012-08-13 73 views
0

在我的應用程序中,我在UIWebView中顯示HTML內容。 HTML內容從服務器下載並存儲在iPad的文件系統中以啓用離線使用。在HTML通過@字體面使用自定義字體在它的CSS文件:保護UIWebVIew中的自定義字體

@font-face {font-family: 'CustomFont'; src: url(Custom-Font.otf);} 

爲了使這項工作,字體.otf文件也下載並存儲在iPad上的文件系統。

問題是,現在任何人都可以訪問他的iPad的文件系統(如果你使用類似IExplorer的話,這很容易)。

這會導致一些法律問題,因爲大多數字體提供者不允許他們的字體是自由分發的(當我使用這種方法時,他們實際上是這樣)。

我的問題:有什麼辦法,我可以如何保持文件系統中加密的字體,並在UIWebView嘗試加載時解密它們?

+0

這是一個很好的觀點。我去做。 – joern 2012-08-14 05:58:07

回答

0

我發現了一個效果非常好的解決方案:Robin Summerhill在如何使用Apple的CommonCrypto API和自定義URL協議保護iOS應用程序中的資源方面寫了一個出色的tutorial。您可以使用它來加密所有的嵌入式資源,並且它也可以使用字體。

0

Protecting Data Using On-Disk Encryption的「iOS應用程序編程指南」中:

在iOS中4及更高版本,應用程序可以使用數據保護功能將 級別的安全性添加到他們的磁盤上的數據。數據保護使用 內置加密硬件在特定設備(如 iPhone 3GS和iPhone 4)上存在以 磁盤加密格式存儲文件。當用戶的設備被鎖定時,即使對創建它們的應用程序也無法訪問受保護的文件 。用戶必須至少在 之前 明確解鎖設備(通過輸入適當的密碼),然後才能訪問其中一個受保護的文件。

我沒有測試這個,但我強烈地認爲加密文件不能用iExplorer讀取。

+0

不幸的是,這不起作用:「用戶必須爲設備設置有效的密碼鎖。」因此,如果設備未鎖定,我仍然可以使用iExplorer訪問這些文件。據我瞭解,此功能只保護您的文件不受其他人的影響,而您的設備被鎖定。即使我(設備的所有者)不能複製和使用字體,我也需要保護所有用戶的字體文件。 – joern 2012-08-13 20:19:21

+0

好的,我發現這不是解決您的問題的方法。 – 2012-08-13 20:23:03

0

如果您沒有來自您的字體提供商的重新分配字體的許可證,那麼通過將它們嵌入到您的應用程序中,即表明您正在進行侵犯版權的行爲。加密文件不會改變這一點。

+2

這是如果你有授權嵌入字體,如果他們加密。我們做什麼。 – joern 2012-08-16 05:57:40