2015-01-13 49 views
0

我有两个不同的应用程序目标(付费版本和免费版本),它们使用相同的键盘扩展目标。键盘关注的两个应用目标之间的唯一区别是当前使用预处理器宏定义的一些字符串值。我需要一种方法来确保扩展接收到的字符串值与源可执行文件接收到的值相同。从键盘扩展中检测源代码可执行文件

扩展是否可以直接访问与其打包的可执行文件有关的信息?我大概可以在第一次启动时操作共享的NSUserDefaults来存储键盘的字符串值,但这似乎是迂回和不安全的。

回答

0

我能做到什么,我需要通过检查包标识符,像这样:

#define FOOFree [[[NSBundle mainBundle] bundleIdentifier] containsString:@"free"] 

然后我用宏的布尔结果来设置字符串的值的应用和扩展为我的扩展的包标识符与其源应用程序具有匹配的名称空间(如果遵循约定,应始终如此)。