我已经创建了一个框架,我想在我的OS X应用程序中使用它。自从El Capitan
更新到Xcode 7后,当我尝试命令单击import
语句时,Xcode进入以下视图。
如何让Xcode正确显示Swift表示? 我之前已经发生过,我的解决方案是重新创建我不想再做的每个项目文件。
答案 0 :(得分:36)
根据我的经验,这个问题有两个可能的原因。 第一个是您的框架无法找到。要解决此问题,您需要定位构建设置并添加框架搜索路径的路径绝对:
plt.pcolormesh(X,Y,Z.T)
或相对于项目目录:
/Users/{user}/path-to-framework-parent-directory
另一个可能的原因是框架的路径中包含一个空格。我发现你是否试图用反斜杠$(PROJECT_DIR)/path-to-framework-parent-directory
来逃避它或者用双引号../Project\ Name/frameworks
取整个路径并不重要。结果是SourceKit无法加载模块。
请注意,"../Project Name/frameworks"
可能会扩展到包含空格的路径,但也会导致相同的错误。所以它看起来像Xcode / SourceKit中的一个错误(我尝试了最新的Xcode 7.2-beta3,但仍然存在错误)。
我的存储库位于第二个硬盘$(PROJECT_DIR)
上。我刚刚将硬盘重命名为/Voluems/Macintosh HD/Repos
,因此路径看起来像HD
,问题就消失了。
答案 1 :(得分:1)
运行产品 - >清洁,产品 - >构建对我有用。
答案 2 :(得分:1)
Max S.回答指出了我正确的方向,但是我在框架路径中使用了'递归'选项。
为了让事情发挥作用,我必须明确地直接添加一个路径来直接讨论这个框架的直接父命令(因为选择设置了'recursive'选项的路径指向一个更高的目录)。
HTH
答案 3 :(得分:1)
我也有这个问题,其他解决方案也没有用。我终于在我的案例中弄明白了:
目标名称中不能包含空格
重命名:
答案 4 :(得分:0)
奇怪的是,只需更改我的文件夹名称即可开发人员'发展'解决了我的问题。
答案 5 :(得分:0)
就我而言,我为SDK和podspec创建了一个框架,以使其可可。
使用SDK时我遇到了同样的问题,当我将Foundation API导入到我使用SDK的文件中时,该问题已解决
import Foundation
答案 6 :(得分:0)
这是另一种可能的解决方案-对我有用的解决方案:
导入框架之后,我再也没有为模拟器构建过的框架,仅为真实设备构建了。 Swift模块未显示,同样的错误。然后,我为Simulator进行了构建,然后突然起作用,我可以看到Swift模块。
原因是,当我创建框架时,我有一个步骤将swift模块从iphonesimulator
构建复制到通用构建,但对iphoneos
构建中的模块则不执行任何操作。所以我的猜测是这就是为什么它不起作用。
注意:选择模拟器并进行构建后,无论构建目标在哪里,它都会一直正常工作。