如何:忽略自动生成的"<project> -Swift.h"警告

Bin*_*ian 8 xcode warnings objective-c swift

我有一个包含Swift和Objective-C代码的项目.我没有警告,除了一个带有项目名称的文件,然后是后缀-Swift.h,它是来自Swift文件的自动生成的头文件.

此文件不在我的项目导航器中,也不在Finder中的项目文件夹中.我无法在Build Phases中找到它来添加-fno-objc-arc.

在下次构建应用程序时,将删除更改文件并添加代码以禁止警告.

在文件的顶部是该行

// Generated by Swift version 1.0 (swift-600.0.47.8)
Run Code Online (Sandbox Code Playgroud)

如何在不禁用项目中其他文件的有用警告的情况下摆脱此警告?


警告exmaples:

默认属性"assign"不适合非GC对象

未指定"assign","retain"或"copy"属性 - 假定为"assign"


SWIFT代码:

@objc class ... {
    internal var label: Identifier
}
Run Code Online (Sandbox Code Playgroud)

自动生成的代码(两种警告类型):

SWIFT_CLASS("_TtC12...")
@interface ...
@property (nonatomic) Identifier * label; // warnings here
@end
Run Code Online (Sandbox Code Playgroud)

小智 1

对原始问题的评论为我解决了这个问题。一旦我转换了将生成的 Swift.h 文件导入到 ARC 的非 ARC Objective-C 类,警告就消失了。

\n\n
\n

我也有这个问题。事实证明,我有一个旧的 Objective-c\n 类,我将 -fno-objc-arc 编译器标志设置为该目标-c\n 类导入 -swift.h ,这非常合理地导致了此警告。最终我创建了 Objective-C 类来支持 ARC 并且警告消失了。\xe2\x80\x93 黄伯比 2014-09-19 5:18

\n
\n