从键盘扩展中检测源可执行文件

时间:2015-01-13 22:29:28

标签: ios ios-app-extension

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

扩展程序是否可以直接访问有关打包的可执行文件的信息?我可能在第一次启动时操纵共享的NSUserDefaults来存储键盘的字符串值,但这看起来很迂回且不安全。

1 个答案:

答案 0 :(得分:0)

我能够通过检查包标识符来完成我需要的工作,如下所示:

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

然后我使用宏的布尔结果来设置应用程序和扩展名的字符串值,因为我的扩展名的包标识符与其源应用程序具有匹配的命名空间(如果遵循惯例。