首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入具有一些iOS 9+兼容逻辑的iOS 8框架

导入具有一些iOS 9+兼容逻辑的iOS 8框架
EN

Stack Overflow用户
提问于 2016-12-23 16:04:01
回答 0查看 84关注 0票数 2

我有一个设置为部署在iOS 8上的框架目标。在上述框架中有一个扩展,如下所示,它被包装在iOS 9检查中。

代码语言:javascript
复制
@available(iOS 9.0, *)
extension NSLayoutAnchor {

    open func constrainEqual(_ anchor: NSLayoutAnchor, constant: CGFloat = 0) {
        constraint(equalTo: anchor, constant: constant).isActive = true
    }

}

当我将这个框架导入到一个只有Swift代码并设置为部署到iOS 8的应用程序目标中时,我从导入的swift的框架objective-c头文件中得到以下错误。

:0:错误:无法生成Objective-C模块'‘,需要一个类型。

swift框架的objective-c头文件在以下行的'AchorType‘处有一个错误,由于某种原因,它被奇怪地封装在/* */中:

代码语言:javascript
复制
@interface NSLayoutAnchor (SWIFT_EXTENSION(<module name>))
- (void)constrainEqual:(NSLayoutAnchor</* AnchorType */> * _Nonnull)anchor constant:(CGFloat)constant;
@end

这看起来像是swift中的一个bug,自动生成的objective-c头文件(针对swift框架)对于这种特定的类型是错误的。如果我删除扩展,问题就解决了。

我是不是包装错了?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41297516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档