自Swift 2.2以来无法访问extern NSString

pat*_*ckS 16 xcode swift

自从使用Swift 2.2更新到Xcode 7.3后,我无法从外部Objective-C库访问变量.

从今天起我就能够访问这些变量:

extern NSString* const DEFAULT_URL;  
Run Code Online (Sandbox Code Playgroud)

这是在预编译的.a框架的Objective-C头文件中定义的.

在我的快捷代码中,我只需要打电话DEFAULT_URL.

从Swift 2.2开始,我得到以下错误信息:

Use of unresolved identifier 'DEFAULT_URL'  
Run Code Online (Sandbox Code Playgroud)

我能够访问此框架的类和方法,但我无法访问extern NSStrings.

任何想法如何解决这一问题?

Mar*_*ark 34

@patrickS我有一个愚蠢的原因,我的外部const是在我的.h文件中的@interface中定义的.这似乎使得这个版本的XCode/Clang的Swift代码变得私密.它适用于所有extern consts,而不仅仅是NSString*.

例如

//In Foo.h
extern const int kBlah

@interface Foo
...
@end
Run Code Online (Sandbox Code Playgroud)

代替

//In Foo.h
@interface Foo
extern const int kBlah
...
@end
Run Code Online (Sandbox Code Playgroud)