gpt4 book ai didi

ios - 用于测试是否正在构建应用程序扩展的预处理器宏是什么?

转载 作者:IT王子 更新时间:2023-10-29 08:19:45 24 4
gpt4 key购买 nike

这个问题完全基于公开发布的有关在 iOS 中引入应用程序扩展的文档。

随着app extensions的引入在 iOS 8 中,现在可以“将自定义功能和内容扩展到您的应用程序之外,并在用户使用其他应用程序时提供给他们”。

在我的扩展实现中,我在我的扩展(模型等)中包含了我的实际应用程序中的一些类。问题是这些类调用 UIApplication,这在应用程序扩展中不可用,编译器告诉我的。

我认为一个简单的解决方案是将对 UIApplication 的所有调用包含在 #if 指令中。

例如,如果我只想在模拟器上运行时包含代码,我会使用:

#if TARGET_IPHONE_SIMULATOR
// Code Here
#endif

当目标是应用程序扩展时,是否有类似定义的宏?

最佳答案

您可以定义自己的宏。

在项目设置中,使用顶部栏中的下拉菜单选择您的扩展目标: enter image description here

然后:

  1. Click Build Settings
  2. Find (or search) Preprocessor Macros under Apple LLVM 6.0 - Preprocessing
  3. Add TARGET_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 - 用于测试是否正在构建应用程序扩展的预处理器宏是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24018380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com