有啥方法可以从 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 吗?的主要内容,如果未能解决你的问题,请参考以下文章

从 plist 加载的 iOS 静态 const 数组

字典的 plist 或存储

plist有啥用?

您可以从 plist 加载带有动态和静态部分的表格视图吗?

加载plist文件数据的方法

有啥方法可以从我的 IOS 应用程序中打开设置应用程序? [复制]