无法使用 Alamofire 4.1.0、Xcode 8 和 Swift 3 构建项目 - 没有这样的文件或目录



我有一个近一年没有更新的iOS项目,但现在我需要添加一个功能。在完成了必须更新Swift的正常头痛(因为我同时更新了Xcode)之后,我有一个剩余的问题,似乎与Alamofire不想构建以下错误(没有这样的文件或目录)有关:

PhaseScriptExecution [CP] Embed Pods Frameworks /Users/David/Library/Developer/Xcode/DerivedData/Dealer_Dashboard-darqlvvgqwnvdybcswbtllluwvjw/Build/Intermediates/Dealer Dashboard.build/Debug-iphonesimulator/Dealer Dashboard.build/Script-210B7DE0B605AB4E3AA431FD.sh
    cd "/Users/David/Documents/TC-Dev/Dealer Dashboard"
    /bin/sh -c "/Users/David/Library/Developer/Xcode/DerivedData/Dealer_Dashboard-darqlvvgqwnvdybcswbtllluwvjw/Build/Intermediates/Dealer Dashboard.build/Debug-iphonesimulator/Dealer Dashboard.build/Script-210B7DE0B605AB4E3AA431FD.sh"
mkdir -p /Users/David/Library/Developer/Xcode/DerivedData/Dealer_Dashboard-darqlvvgqwnvdybcswbtllluwvjw/Build/Products/Debug-iphonesimulator/Dealer Dashboard.app/Frameworks
rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "/Users/David/Library/Developer/Xcode/DerivedData/Dealer_Dashboard-darqlvvgqwnvdybcswbtllluwvjw/Build/Products/Debug-iphonesimulator/Alamofire/Alamofire.framework" "/Users/David/Library/Developer/Xcode/DerivedData/Dealer_Dashboard-darqlvvgqwnvdybcswbtllluwvjw/Build/Products/Debug-iphonesimulator/Dealer Dashboard.app/Frameworks"
building file list ... done
sent 196 bytes  received 20 bytes  432.00 bytes/sec
total size is 1965425  speedup is 9099.19
Code Signing /Users/David/Library/Developer/Xcode/DerivedData/Dealer_Dashboard-darqlvvgqwnvdybcswbtllluwvjw/Build/Products/Debug-iphonesimulator/Dealer Dashboard.app/Frameworks/Alamofire.framework with Identity -
/usr/bin/codesign --force --sign -  --preserve-metadata=identifier,entitlements /Users/David/Library/Developer/Xcode/DerivedData/Dealer_Dashboard-darqlvvgqwnvdybcswbtllluwvjw/Build/Products/Debug-iphonesimulator/Dealer Dashboard.app/Frameworks/Alamofire.framework
/Users/David/Library/Developer/Xcode/DerivedData/Dealer_Dashboard-darqlvvgqwnvdybcswbtllluwvjw/Build/Products/Debug-iphonesimulator/Dealer: No such file or directory

如果我手动创建目录"Dealer",它会跳过这个错误,我得到一个类似的新目录。我的项目被命名为"经销商仪表板"(空间),你可能会注意到,这和所有其他的失败路径似乎截断的空间,所以我做了一个搜索和发现这个问题,这似乎已经解决了在一年前(但也许重新浮现在这个版本?)https://github.com/CocoaPods/CocoaPods/issues/3754看起来这是创建一个有效的目录,然后试图在一个无效的签名的代码/截断版本的目录。当我使用Swift 2.2和旧版本的Alamofire时,一切都很好。

我尝试过的:我今天更新了Xcode,我已经更新了CocoaPods到1.2.0测试版。1和删除所有其他版本,我已经更新了我的podfile和运行pod设置和pod更新,我现在在Alamofire 4.1.0和SwiftyJSON 3.0.0(根据podfile.lock)。我多次删除了DerivedData中的所有内容,清空了垃圾,清理了解决方案,并按各种顺序重新启动了Xcode和计算机,但没有任何运气。我已经看到了许多其他类似问题的链接,但似乎没有一个答案适用于我的情况。

这是一个bug在AlamoFire相关的空间在我的项目名称,或者别人可以推荐一些东西去尝试?如果这是一个bug,我发布的链接推荐了一个"鬼鬼祟祟"的解决方案,链接到一个巨大的podfile,但我98%的开发时间都花在Windows和。net上,我无法通过所有不相关的代码和设置来弄清楚他们真正想让我做什么……它看起来像是与"def predictabilize_uids"有关,但我不知道这意味着什么或做什么,或者我需要将哪行代码转移到我的项目中来实现它。我怀疑我重命名我的项目已经太迟了,所以它不包含空格,因为它已经在App Store中,我需要将其作为更新推送,所以我需要找到解决方案或变通方法。任何帮助将不胜感激!

freak4pc在这篇文章中的一个评论帮助了我:https://github.com/CocoaPods/CocoaPods/issues/3754

在Xcode的文件树中展开"Pods",展开"Targets Support Files",展开"Pods-[Project Name]",编辑"Pods-[Project Name]-frameworks.sh"。请查看有关框架签名的部分。修改以下行:

local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1""

to this:(在"$1"后面加上单引号)

local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '"$1"'"

清理项目并重新构建-在我的情况下,它按预期工作。

最新更新