打开模块' Swift'的导入文件。没有权限

时间:2015-05-12 16:20:11

标签: ios xcode swift github

我是在Xcode和swift工作的新手。 我正在我的macbook上做一个iOS项目(在度假时),并且我一直在使用github版本控制,我现在回到家里,现在正在使用我的mac mini。 目前在Xcode 6.3.1中工作,目标是iOS 8.3

所以我已经在mac mini上克隆了我的项目,当打开并尝试构建项目时,我收到了错误:

  

打开模块的导入文件' Swift':权限被拒绝

我正在查看错误,似乎是4个问题,我的AppDelegate.swift和3个ViewController.swift文件(目前我只有3个)

我已经在这里查看了另一个问题 - Opening import file for module 'Swift': Permission denied,但它与我的问题无关。

我注意到的一些事情是

  1. 我的一些框架,即解析和螺栓以红色突出显示, 我把它们指向了我的mac mini的位置(不确定是否 这是正确的事情),但它们没有突出显示 了。
  2. 在products文件夹下,我的.app和.xctest文件会突出显示 红色。不知道如何解决这个问题
  3. 之前有没有遇到过这个?我非常感谢你们的帮助。

    干杯 加雷斯

6 个答案:

答案 0 :(得分:3)

在我们的例子中,错误是一些框架是在OSX 10.10上使用XCode 7.1构建的,然后是上传到依赖管理器(Carthage)的二进制文件。

失败的项目是在 OSX 10.11 上使用XCode 7.1编译的,它正在从Carthage中提取这些框架。

显然,OSX版本中的不匹配导致了问题。一旦所有框架在OSX 10.11上重新编译,它就会停止失败。

请注意,有时候我们的某个框架上的permission denied失败,有时在CoreData上有permission denied。用10.11构建的二进制文件替换框架二进制文件修复了该问题。 另外,使用10.11构建的框架似乎在10.10上正常工作。

答案 1 :(得分:2)

所以我想出了导致这个问题的原因。正是“构建设置”下的“搜索路径”正在查找我的框架的错误位置。类似于Apple Mach-O链接器错误修复

我在macbook pro上搜索我的框架,删除了'Framework Search Path',然后重新添加了我的Parse.framework,Bolts.framework和FBSDKCoreKit.framework。

项目现在可以正常构建和运行,没有任何问题。

答案 2 :(得分:2)

对于仍有问题的人,这是我的解决方案:

我尝试了所有推荐的内容,从删除任何用户数据到从头开始设置项目再到重新安装Xcode - 没有任何对我有用。

最后,我发现我使用的框架取决于错误消息中提到的库(打开模块'FRAMEWORK'权限被拒绝的导入文件,在我的情况下这是CoreLocation)。我构建了其中几个,并且该项目在另一台Mac上构建得很好。从Github中提取此版本时,构建的框架会引发上述错误。所以我从头开始构建每个框架,并将这些框架嵌入到我的最终项目中。这一切都很有效,就像在另一台Mac上一样。

只是我的两分钱,因为到目前为止我所看到的一切都可以用与此不同的方式解决。

答案 3 :(得分:2)

我通过在构建设置下的Xcode 搜索路径中删除其他用户的框架搜索路径解决了这个问题,当我发生此错误时尝试在两个用户之间移动项目,当删除路径时一切正常。

答案 4 :(得分:2)

对于其他遇到此问题的人来说,这就是我要解决的问题。我尝试了上述海报所提出的所有内容,但没有成功。这是我的设置:

  • MacOS Sierra 10.12.5
  • Xcode 8.2
  • 我们的CI基础设施上由Carthage 0.22构建的框架

我在内部构建的框架中遇到“Permission Denied”错误。

如果我将所有框架替换为在我的机器上使用Carthage构建的框架,一切都会起作用。如果我使用从CI构建的那些,我会看到“Permission Denied”错误。

我仔细检查了操作系统版本是否相同,Xcode版本是否相同。我比较了在我的机器上构建的框架的Info.plist值和CI基础架构的值。我仔细检查了Xcode下所有Carthage构建的框架和内部框架的文件权限。

如果我用本地构建的框架替换了麻烦的内部构建框架,则错误随后移动并在AppleN的UserNotifications模块上给出了“权限被拒绝”错误。这毫无意义。

我没有做任何事情,但重新安装了MacOS。

事实证明,在我将新管理员用户添加到我的计算机以测试其他内容后,问题就开始了。该用户只使用了git。

在我删除该用户后,我能够再次建立相信与否。

答案 5 :(得分:-1)

就我而言,当我将项目从git克隆到新的Mac(macOS Sierra& Xcode 7.3)时。这是我的错误消息:“打开模块'MobileCoreServices'的导入文件:权限被拒绝”。

我尝试重新安装Xcode,但没有任何效果。

最后,我通过重新安装macOS Sierra解决了这个问题。

以下是我的建议:我在新Mac中创建一个新的管理员帐户,切换到新帐户,然后删除旧的管理员帐户,也许我不应该删除旧的管理员帐户。