Xcode 6 中的 Shell 脚本调用错误
Posted
技术标签:
【中文标题】Xcode 6 中的 Shell 脚本调用错误【英文标题】:Shell Script Invocation Error in Xcode 6 【发布时间】:2014-11-21 00:06:29 【问题描述】:我以前用 ios-Universal-Framework 编译通用静态库,在我将 Xcdoe 升级到 6 之前工作正常。
我收到以下错误
** BUILD SUCCEEDED **
创建通用静态库 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/libtool -static /Users/taofang/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphoneos/xxx .framework/xxx /Users/taofang/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/xxx.framework/xxx -o /Users/taofang/Library/Developer/Xcode/DerivedData/xxxxx/Build /Products/Debug-iphoneos/xxx.framework/xxx.temp 错误:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/libtool:无法打开文件:/Users/taofang/Library/Developer/Xcode/DerivedData/xxxxx/Build/ Products/Debug-iphonesimulator/xxx.framework/xxx (没有那个文件或目录)
如果我使用 Xcode 5 来完成这项工作,那就没问题了。
另外,我选择Device作为我的编译目标,但是为什么libtool试图打开iphonesimulator文件夹下的文件?
【问题讨论】:
【参考方案1】:这意味着您的任何构建文件夹中都没有头文件。这可能是因为您尚未将库项目配置为导出任何头文件。
转到您的项目目标 >> 构建阶段 >> + 符号 >> 添加新的构建阶段
您需要添加一个复制文件阶段,将您想要的标头复制到包含文件夹。
【讨论】:
对不起,里面有头文件。 我最近遇到了类似的问题。你能分享你的bash脚本吗?如果没有,请查看此合并 - github.com/kwylez/StaticFramework-Sample-Project/issues/1 你好吗? 仔细检查 Search Paths 和 Public Headers Folder Path -include/$(PROJECT_NAME)
.
你如何解决这个问题?我在 Xcode 5 中的代码完美运行,只有 Xcode 6 出现问题
那么应该不是问题。你能检查一下吗?我知道没有直接的解决方案 - 只是设置中的一些东西 - github.com/kstenerud/iOS-Universal-Framework/issues/197【参考方案2】:
我可以用chmod 777 [PATH]
代替chmod a+x [PATH]
来解决它。
【讨论】:
【参考方案3】:您可以使用以下命令递归地拥有路径中的所有文件和文件夹,例如...
chmod -R 777 ./
更多详情: Chmod 777 to a folder and all contents
【讨论】:
以上是关于Xcode 6 中的 Shell 脚本调用错误的主要内容,如果未能解决你的问题,请参考以下文章
Swift iOS GoogleAPIClientForREST – Shell 脚本调用错误 GTMSessionFetcher.framework:没有这样的文件或目录
“运行 3 个自定义 shell 脚本中的 2 个”Xcode 8.2