我有一个简单的应用程序,还有一个 iOS 8 的“今天”扩展(或小部件)。我正在做的其中一件事是在我的应用程序和小部件之间共享代码类,因为这显然可以避免我拥有同样代码的多个副本。除了一个问题,它工作得很好,但我遇到了一个问题,因为不能在 iOS 8 小部件上使用 UIApplication sharedApplication
API,所以会出现错误。
所以我想,可以编写一个简单的if语句,检查最终目标是本机应用程序还是 iOS 8 小部件,然后根据需要添加相应的代码。这样行得通吗?
这是我的代码:
if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]))
{
CGSize ssz = sz;
sz = CGSizeMake(ssz.height, ssz.width);
}
我该如何修改这段代码以实现以下操作之一:
- 仅当最终目标是本机iOS应用而不是小部件时才运行/编译IF。
- 或者检查目标平台上是否可用该API,如果可用,则使用该API?
希望我的问题表述清晰,感谢您的时间,丹。