sud*_*-rf 8 macos cocoa objective-c
我正在开发一个Cocoa应用程序,它具有某些我希望保护但仍然可以显示的资源(图像).通常只需将它们放在资源文件夹中,但存储在那里可以很容易地抓取和使用它们.有没有办法隐藏这些图像,但仍然可以在应用程序中访问它们?
简单方案:
将所有文件合并到一个大数据文件中,可选择使用"salt".
然后使用以下内容检索特定文件:
NSData *dataFile = [NSData dataWithContentsOfFile:filePath];
NSData *theFile = [dataFile subdataWithRange: NSMakeRange(startPos,endPos)];
Run Code Online (Sandbox Code Playgroud)
这并不能真正保护文件,
但会阻止人们简单地拖出资源.
至少,数据文件是无法使用的,当然还有盐.
另一种方案:
为每个资源创建NSData对象.
将所有对象添加到NSMutableArray.
将数组转换为一个大的NSData对象.
将NSData对象写入文件.
并将其添加到资源文件夹中.
然后,您的应用可以读取数据文件.
并使用资源检索数组.
// Convert array to data
NSData* data=[NSKeyedArchiver archivedDataWithRootObject:theArray];
Run Code Online (Sandbox Code Playgroud)
使用NSKeyedUnarchiver再次检索数组.
| 归档时间: |
|
| 查看次数: |
2096 次 |
| 最近记录: |