Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 弱链接基础和UIKIT?_Iphone_Weak Linking - Fatal编程技术网

Iphone 弱链接基础和UIKIT?

Iphone 弱链接基础和UIKIT?,iphone,weak-linking,Iphone,Weak Linking,我最近引入了通过AirPrint进行打印,但不想放弃对4.2之前版本的支持(显然)。以前做过类似游戏中心之类的事情。我发现在这种情况下特别奇怪的是我必须弱链接UIKit。印刷并没有包含在它自己的框架中,这使我能够更精细 这感觉不太对劲,尽管它解决了我的问题,让应用程序在所有版本上都能正常运行 在他们看来: 当使用的框架是 在部署目标中可用, 您应该需要该框架(以及 没有弱链接) UIKit是可用的,但不是像UIPrintInfo,UIPrintInteractionController等类 我说

我最近引入了通过AirPrint进行打印,但不想放弃对4.2之前版本的支持(显然)。以前做过类似游戏中心之类的事情。我发现在这种情况下特别奇怪的是我必须弱链接UIKit。印刷并没有包含在它自己的框架中,这使我能够更精细

这感觉不太对劲,尽管它解决了我的问题,让应用程序在所有版本上都能正常运行

在他们看来:

当使用的框架是 在部署目标中可用, 您应该需要该框架(以及 没有弱链接)

UIKit是可用的,但不是像
UIPrintInfo
UIPrintInteractionController
等类


我说的对吗,弱链接这样一个核心框架似乎很奇怪?有更好的办法吗

还有更好的办法。iOS 4.2引入了可用于此目的的NS_CLASS_,但在使用上有一些限制。以下链接的文档中列出了所有详细信息:


为了使这一点更具体:在运行时使用[UIPrintInfo类]进行测试,如果返回“零”,则您在较旧的系统上,应该跳过/禁用打印功能。@Steven Kramer:我也有同样的问题。我使用-(BOOL)canPrint{BOOL result=NO;Class printClass=(NSClassFromString(@“UIPrintInteractionController”);if(printClass!=nil){result=[UIPrintInteractionController isPrintingAvailable];}返回结果;}。然后我测试[self print]以启用/禁用打印功能,但它不起作用。我用ios 3.1.3在iPodtouch上试用过。我也尝试了NSClassFromString(@“UIPrintInfo”),但什么也没有。你有什么建议吗?你说的“不行”是什么意思?链接错误?动态链接错误?或者测试只是返回
NO
,它应该返回
YES
,或者反之亦然?您是否执行了该文档中列出的所有构建设置配置,例如要使用的编译器等?Fran,标准GCC根本不支持弱链接,就这么简单!编译器需要专门将某些符号标记为弱链接,而标准GCC不会这样做。祝你的项目好运。你找到答案了吗?如果您还没有声明类的类型并首先对其进行测试,那么使用NS_CLASS_AVAILABLE就可以了。已经解决了这两个环节:我仍然没有找到合适的解决方案。