我是在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,但它与我的问题无关。
我注意到的一些事情是
之前有没有遇到过这个?我非常感谢你们的帮助。
干杯 加雷斯
答案 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)
对于其他遇到此问题的人来说,这就是我要解决的问题。我尝试了上述海报所提出的所有内容,但没有成功。这是我的设置:
我在内部构建的框架中遇到“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中创建一个新的管理员帐户,切换到新帐户,然后删除旧的管理员帐户,也许我不应该删除旧的管理员帐户。