随着iOS 8中引入了app extensions,现在可以“扩展您的应用程序的自定义功能和内容,并在用户使用其他应用程序时将其提供给用户”.
在我的扩展程序的实现中,我在我的扩展名(模型等)中包含了我的实际应用程序中的一些类.问题是这些类调用UIApplication,这在应用程序扩展中是不可用的,编译器告诉我.
我认为一个简单的解决方案将包含任何调用UIApplication在#if指令.
例如,如果我只想包括代码,如果我在一个模拟器上运行,我会使用:
#if TARGET_IPHONE_SIMulATOR // Code Here#endif
当目标是应用程序扩展名时,是否有类似的定义的宏?
解决方法 您可以定义自己的宏.在项目设置中,使用顶栏中的下拉列表来选择扩展目标:
然后:
ClickBuild Settings
Find (or search)Preprocessor Macros
underApple LLVM 6.0 - Preprocessing
AddTARGET_IS_EXTENSION
or any other name of your choice in both the deBUG and release sections.
然后在你的代码中:
#ifndef TARGET_IS_EXTENSION // Do your calls to UIApplication#endif总结
以上是内存溢出为你收集整理的ios – 用于测试应用程序扩展是否正在构建中的预处理器宏是什么?全部内容,希望文章能够帮你解决ios – 用于测试应用程序扩展是否正在构建中的预处理器宏是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)