HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 可以检测我的框架是作为主应用程序还是扩展程序的一部分运行?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在包含其应用程序和应用程序扩展的公共代码的iOS或OS X Framework中,有没有办法检测代码是在主应用程序或其扩展程序之一下运行?具体来说,我想检测框架是否被用作WatchKit扩展的一部分而不是App的iPhone部分.

UIDevice.currentDevice总是返回iPhone,就像运行代码一样.我相信我可以检查WKInterfaceDevice是否存在,但这似乎并不太优雅.

解决方法

一种选择是检查当前目标的文件扩展名.这样做的好处是它可以在共享库和框架中工作,而其他选项通常只在目标本身内工作:

+ (BOOL) isAppExtension
{
    return [[[NSBundle mainBundle] executablePath] containsString:@".appex/"];
}

这个答案是在this question and answer中得出的.这些答案还概述了如何设置预处理器宏,在某些情况下这将是另一个好的选择,尽管从您的框架无法访问.

但是,我没有将此问题标记为该问题的副本,因为这些选项对于所有App扩展都是通用的,也不是特别优雅,并且可能存在针对您要实现的内容的WatchKit特定选项.

@H_874_22@

大佬总结

以上是大佬教程为你收集整理的ios – 可以检测我的框架是作为主应用程序还是扩展程序的一部分运行?全部内容,希望文章能够帮你解决ios – 可以检测我的框架是作为主应用程序还是扩展程序的一部分运行?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。