当我将Nimble添加为git子模块时出现问题。我在issue上发了Quick/Nimble,但问题似乎不太可能是敏捷问题,可能是Xcode问题,因此我在这里问。
我根据Nimble安装指南建立了一个简单的项目,现在就在github。基本上我创建了xcworkspace
和xcodeproj
(添加到工作区)。 Nimble作为git子模块和子项目添加到工作区。然后我将Nimble.framework添加到我的测试目标Build Phases并编写了一些简单的测试代码来查看Nimble是否正在运行。
当我运行测试时,Xcode给出了以下错误消息:
2017-02-20 23:41:29.482 xctest[52165:616190] The bundle “MainProjTests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
2017-02-20 23:41:29.483 xctest[52165:616190] (dlopen_preflight(/Users/nandiin/Library/Developer/Xcode/DerivedData/NimbleIssue-fkhppktoktwpjodtarmzrjobszwv/Build/Products/Debug-iphonesimulator/MainProjTests.xctest/MainProjTests): Library not loaded: @rpath/libswiftSwiftOnoneSupport.dylib
Referenced from: /Users/nandiin/Library/Developer/Xcode/DerivedData/NimbleIssue-fkhppktoktwpjodtarmzrjobszwv/Build/Products/Debug-iphonesimulator/Nimble.framework/Nimble
Reason: image not found)
Program ended with exit code: 82
我尝试过一些我发现类似问题的解决方案但他们没有工作:
Embed Asset Packs In Product Bundle
设置为YES
(针对主要目标和测试目标进行了尝试)Always Embed Swift Standard Libraries
设置为YES
(针对主要目标和测试目标进行了尝试)答案 0 :(得分:0)
问题是动态库的运行路径:
libswiftSwiftOnoneSupport.dylib
如果在构建应用后,应用套件中未包含此内容,则您需要将其添加到Copy Files Build Phase
中来添加它。另一个可能的问题可能是它的运行路径未正确设置(如果尚未设置,则需要设置),或使用rpath
修复install_name_tool
。