我有一个在模拟器和设备上构建和运行良好的项目,但在归档时失败.
该项目非常陈旧,但我创建了一个单独的组件,我在工作区中添加了该组件.
主要项目是用Objective-C编写的,新项目是用Swift 4编写的.该项目还使用CocoaPods,还包括用Swift 3.2编写的另一个子项目.
有各种错误都归结为同一件事,子项目在编译时没有产生任何输出.或者它只是没有编译.我发现代码本身没有错误,只是在尝试引用它时:
//1
error: /Users/<user>/Library/Developer/Xcode/DerivedData/<id>/Build/Intermediates.noindex/ArchiveIntermediates/<app name>/BuildProductsPath/Release-iphoneos/Framework.framework: No such file or directory`
//2
Signing Identity: "iPhone Developer: <redacted>“
/Users/<user>/Library/Developer/Xcode/DerivedData/<id>/Build/Intermediates.noindex/ ArchiveIntermediates/<app name>/InstallationBuildProductsLocation/Applications/<app name>/Frameworks/<framework>.framework: No such file or directory
Command /usr/bin/codesign failed with exit code 1
//3
@import ModuleName;
Module ‘ModuleName’ not found
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
$(SRCROOT)到主目标>构建设置>框架搜索路径>发布Skip install设置YES在子项目构建设置pod updateAlways Embed Standard Swift Libraries无论如何都没有区别其他说明:
/Users/<user>/Library/Developer/Xcode/DerivedData/<id>/Build/ Intermediates.noindex/ArchiveIntermediates/<app name>/ InstallationBuildProductsLocation/Applications/<app name>.app/Frameworks/其他子项目和所有pod中都有一个.framework文件,但不适用于此podfile,use_frameworks!存在更新:
今天运行存档后,我只看到错误:
Module 'ModuleName' not found
Run Code Online (Sandbox Code Playgroud)
其他错误消失了
问题与iOS Deployment Target设置有关:
在Debug它只是建立在当前架构,Release它构建于所有.一旦你知道就明显了.
将子项目设置为针对iOS 10构建修复了该问题.
最令人沮丧的部分:我仔细检查了构建日志,并没有提到任何地方的版本问题:(
无法说出究竟是什么原因导致归档失败。但是我很确定我可以给您正确的方向=]
在模拟器甚至实际设备上运行-编译项目以进行“ 调试 ”
存档艰苦,为“ 发布 ” 编译
我敢打赌,如果您设置在模拟器上运行将在发布模式下编译,它将失败!
检查!!
如果我正确,您只需要设置一些Build Settingsfor Release以匹配Debug
我的第一个猜测是:所有搜索路径(Framework搜索路径和Runpath搜索路径)
我在这里看到了类似的行为
毕竟我把它存档了。
看来SDK-Project缺少构建配置Adhoc。哪个项目用于为特定的构建方案归档项目。我认为编译器正在$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)路径中寻找模块
| 归档时间: |
|
| 查看次数: |
2768 次 |
| 最近记录: |