我有一个mac应用程序,想要隐藏它的资源。在Windows上,我只是创建了一个资源文件,但在Mac上似乎并不存在。所以我决定遵循this链接的建议。
我要做的是,在另一个预先准备资源的应用程序中,我将获取所有资源(文本文件,图像,声音文件等)并将它们转换为CFData
个对象。然后我将它们存储在CFDictionary
对象中,文件名为关键字。之后,我要将字典保存到文件中。
CFDictionary
转换为char*
并保存?或者我是否必须单独保存密钥和值并稍后阅读以重新创建CFDictionary
?如果是这样,我将如何转换CFData
个对象?
答案 0 :(得分:1)
我发现this interesting page有一个将CFDictionary
转换为CFData
的实用方法:
inline CFDataRef makeCFData(CFDictionaryRef dictionary)
{
return CFPropertyListCreateXMLData(NULL, dictionary);
}
我不知道它是否适用于图像和声音。您可能必须先将它们转换为CFData
。