2012-07-15 86 views
0

我有一個mac應用程序,並希望隱藏它的資源。在Windows上,我只是創建了一個資源文件,但這些文件似乎並不存在於Mac上。所以我決定遵循this鏈接的建議。合併應用程序資源 - mac

在另一個預先準備資源的應用程序中,我要做的是將所有資源(文本文件,圖像,聲音文件等)全部轉換爲CFData對象。然後,我將把它們存儲在一個CFDictionary對象中,並將文件名作爲關鍵字。之後,我將把字典保存到一個文件中。

問題是,CFDictionary對象不知道如何將自己歸檔,我不能使用Foundation對象,只能使用Core Foundation。有沒有辦法將CFDictionary轉換爲char*並保存?或者我將不得不單獨保存密鑰和值,稍後再讀取它們以重新創建CFDictionary?如果是這樣,我將如何轉換CFData對象?

+0

我做了一個軟件,只是爲了選擇AES256加密,在Xcode解密的開發工具是在應用程序內享受! http://www.macupdate.com/app/mac/55122/loot-locker – 2015-08-08 18:25:12

回答

1

我發現this interesting page這對於轉換實用方法CFDictionaryCFData

inline CFDataRef makeCFData(CFDictionaryRef dictionary) 
{ 
    return CFPropertyListCreateXMLData(NULL, dictionary); 
} 

我不知道這是否會與圖像和聲音的工作,雖然。您可能必須先將這些轉換爲CFData

+0

是的,我可以將它們轉換爲'CFData'。謝謝這就是我需要的! – rcplusplus 2012-07-16 03:47:51