swift - 如何检查代码是否在 Today Extension 或 App 中运行

标签 swift ios8 ios8-today-widget

由于 UIApplication.sharedApplication() 在 iOS8 今天的小部件/扩展中不可用,我如何动态检查代码当前是作为小部件还是应用程序运行?运行应用程序时,我想调用例如

UIApplication.sharedApplication().registerUserNotificationSettings(settings)

当运行与小部件相同的代码时,这应该被跳过。是否可以对此进行检查?

最佳答案

为您的扩展制作一个单独的前缀文件,在前缀文件中定义一个未在应用程序前缀文件中定义的宏。然后检查这个宏是否被定义会告诉你你是否在扩展中。或者,您可以在应用程序的前缀文件中定义宏,而不是在扩展程序中,然后从另一个方向检查。

关于swift - 如何检查代码是否在 Today Extension 或 App 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26556408/

相关文章:

ios - 如何本地化今天的扩展小部件?

Swift - 文本字段中的字符不可见

iOS Firebase 数据库安全。创建新的应用程序用户 : Checking for Existence of Username

iOS 8 iPad : Could not load NIB in bundle

uiscrollview - UITextView 在 iOS 8 中隐藏键盘时滚动到顶部

swift - 倒带时自动重新加载 TableViewController

ios - Alamofire框架和iOS证书问题

ios - 将 Swift._SwiftDeferredNSArray' (0x1096d26b8) 获取到核心数据中的 'NSMutableArray

ios - 从扩展程序打开应用程序,属性仅在第一次更改

ios - 今天扩展 : syncing data with container app