有啥方法可以从 iOS 的 plist 加载 const unsigned char 吗?
Posted
技术标签:
【中文标题】有啥方法可以从 iOS 的 plist 加载 const unsigned char 吗?【英文标题】:Is there any way to load const unsigned char from plist in iOS?有什么方法可以从 iOS 的 plist 加载 const unsigned char 吗? 【发布时间】:2015-11-03 19:15:11 【问题描述】:我有一些用于我的应用授权的数据,例如 0x7c, 0x1e, ...,我需要在 Objective-C 文件中获取它,例如:
const unsigned char ApplicationKey[] = 0x7c, 0x1e, ...;
有没有办法从 plist 文件中获取这个常量?
我需要这个,因为根据这个答案this answer 这是 NuanceHeader.m 中的东西我只想将我的 AppKey 存储在 plist 中,而不是代码中。
【问题讨论】:
这个问题毫无意义。这首先是如何进入 plist 文件的? ...您将其添加到 plist 文件中?什么没有意义? 为什么要用const keyword 设置ApplicationKey?你想防止什么?编译时错误检查?或者您是否正在尝试使您的应用程序在越狱系统上不受干扰? 【参考方案1】:从根本上说,plist 可以包含NSNumber
实例形式的数值。你可以很容易地从这些创建unsigned char
:
NSString* pathToPlist = // Determine path to plist
NSArray* plist = [NSArray arrayWithContentsOfFile:pathToPlist];
unsigned char applicationKey[plist.count];
[plist enumerateObjectsUsingBlock:^(NSNumber* number, NSUInteger index, BOOL* stop)
applicationKey[index] = [number unsignedCharValue];
];
【讨论】:
你为什么要这样做?为什么不将实际的NSData
放入 plist 中?
@rmaddy,向提问者问这个问题不是更好吗?他是指定 plist 的人。
@Avi 不,这是查尔斯的问题。 OP 询问 plist 中的二进制数据,但这个答案是关于 plist 中的数字数组。
我猜你可以用任何一种方式阅读它。由于我们不知道 plist 是如何创建的(如果它曾经创建过),我们也不知道其中有什么。
在问题中添加了原因。以上是关于有啥方法可以从 iOS 的 plist 加载 const unsigned char 吗?的主要内容,如果未能解决你的问题,请参考以下文章