备注:增量编译已被禁用:它与整个模块优化不兼容

remark: Incremental compilation has been disabled: it is not compatible with whole module optimization

已更新到 Xcode 13 测试版,现在由于几个 pods

中的错误,我无法构建项目

Older Xcode launches an app on iOS 15 too long

我用的是M1,可能是架构问题

这句话并不是真正的错误,只是一个警告。真正的错误可以在具有相同名称的顶级部分下的嵌套 Compile Swift source files 中找到。展开此命令的日志,您应该会看到实际错误。

我在更新 Xcode 到版本 13 后遇到问题。由于编译器抱怨整个模块编译,我们需要使用增量模式。

要做到这一点:

Select 你的目标并转到构建设置 -> 编译模式 -> 切换到“增量”

我 运行 pod update 它为我解决了这个问题

pod update

将 SwiftMessages pod 版本从 8.0.2 更新到 9.0.4(不适用于 Swift 5.5)对我有帮助

确保您的 pods 与项目的 swift 版本相同。

我发现这是由于框架和项目优化构建设置不匹配造成的。

要修复它,应该优化项目的目标,例如-Os in BuildSettings -> Apple Clang Code Generation -> Optimisation Level 在您的项目目标上

如果将编译模式设置为整个模块,似乎 swift 需要优化。 Eray 的答案有效,但可能无法为框架的发布版本创建最佳 assembly/bitcode。

项目级别的编译模式也需要是Whole module。

还注意到,如果依赖顺序不正确,可能会发生这种情况。在并行构建期间,如果尚未构建所需的依赖关系,则可能会出现此错误。通过明确添加到第一级家属 Build Phases->Link with Libraries 列表来修复。

我做了产品 -> 清理,然后 Xcode -> 首选项 -> 位置 -> 派生数据,转到目录并删除所有内容。然后关闭 Xcode 并重新打开并完成我的构建(存档)。更好了。

在我的项目中,pods 部署目标仍然是 iOS 8.0。我已将以下内容添加到我的 Podfile 以升级它们 iOS 13. 然后我清理项目并删除派生数据。添加以下脚本后,您需要调用 pod install.

post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
      end
    end
  end

这对我有帮助。 Answers from developer.apple.com 在 Podfile

中添加
$iOSVersion = '11.0'
post_install do |installer|
# add these lines:
installer.pods_project.build_configurations.each do |config|
  config.build_settings["EXCLUDED_ARCHS[sdk=*]"] = "armv7"
  config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
end

installer.pods_project.targets.each do |target|
  
  # add these lines:
  target.build_configurations.each do |config|
    if Gem::Version.new($iOSVersion) > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'])
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
    end
  end
  
end

结束

我按照 的建议进行了 Podfile 更新。

然后首选项 > 派生数据 > 强制退出 Xcode > 删除派生数据 > Pod 安装 > 打开 Xcode 项目 > 让项目 运行 通过索引 > 归档成功。

我将 Xcode 降级到 13.2.1,这解决了我的问题。似乎 13.3 与某些第 3 方库存在此兼容性问题。

我的 Xcode 13.3 无法为设备构建。但它是为模拟器构建的。 所以我将 Xcode 降级到 13.2.1。问题已解决。

我认为问题是由 pod 引起的。当你升级到 13.3 时,一些 pod target 的选项“ENABLE_BITCODE”已经被设置为“YES”,所以你只需要在你的 Podfile 中添加代码,就像这样:

post_install do |installer|
   installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
         config.build_settings['ENABLE_BITCODE'] = 'NO'
      end
    end
end

并清理项目并删除缓存,归档将成功。

我在 Xcode 13.3 上有这个问题,但降级到 13.1 后,我可以成功存档

我有办法!!!

您需要将问题 pods 的 iOS 版本升级到 11 或更高版本。我希望这对你有所帮助,因为它对我有帮助,但 none 的解决方案以前有效。photo where change

删除 iOS Podfile.lock 和 pubspec.lock 以及 pod deintegrate 和 pod install。在 iOS/Flutter 文件夹 ApplicationFramework.plist 文件 iOS 中将最低目标设置为 Podfile 中的 9.0 及以下代码 post 安装脚本

post_install 执行 |安装程序| installer.pods_project.targets.each 做|目标| flutter_additional_ios_build_settings(目标) target.build_configurations.each 做|配置| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0' 结尾 结尾 结束

最初对我有用的是清理 Xcode 项目构建文件。

“关于此 Mac”-> 存储 -> 管理 -> 开发人员

Xcode project build files

这也是在 运行 外出时清理一些 space 的好方法。

然后它又开始发生了。然后我尝试在“构建设置”中为“编译模式”选择“整个模块”。到目前为止构建没有失败。

由于我的 swift 软件包之一在清单中缺少 'platforms' 规范,同时使用了一些特定于平台的框架(在我的例子中是 SwiftUI),我遇到了同样的问题。 .

包实现指定 api 的可用性如下:

@available(iOS 14.0, tvOS 14.0, watchOS 7.0, macOS 11, *)
public extension Font {
//
}

一旦我在包清单中添加了相应的平台规范,问题就消失了:

let package = Package(
    name: "package-name",
    platforms: [
        .iOS(.v14),
        .watchOS(.v7),
        .tvOS(.v14),
        .macCatalyst(.v14)
    ],
    //
    //
)

我也遇到了类似的问题,试了很多方法都没用

终于为我工作:

  1. pod deintegrate
  2. 清理
  3. pod install

That remark isn't an actual error, just a warning. The real error can be found in the nested Compile Swift source files under the top level section with the same name. Expand the logs for this command and you should see the actual error.

灵感来自

对我来说,这是由我的 Podfile 中的 SKPhotoBrowser 引起的。删除它后,错误消失了。

LLVM ERROR: out of memory
Allocation failed
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the project and the crash backtrace.
Stack dump:
0.  Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c -primary-file /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates.noindex/ArchiveIntermediates/***/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/SKPhotoBrowser.build/Objects-normal/arm64/SKPhotoBrowser.bc -embed-bitcode -target arm64-apple-ios13.0 -Xllvm -aarch64-use-tbi -O -disable-llvm-optzns -module-name SKPhotoBrowser -o /Users/***/Library/Developer/Xcode/DerivedData/***/Build/Intermediates.noindex/ArchiveIntermediates/***/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/SKPhotoBrowser.build/Objects-normal/arm64/SKPhotoBrowser.o
1.  Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
2.  Compiling with the current language version
3.  Running pass 'Function Pass Manager' on module '/Users/***/Library/Developer/Xcode/DerivedData/***-hhhfwlkzxdivscfrppsfvbhllnzc/Build/Intermediates.noindex/ArchiveIntermediates/***/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/SKPhotoBrowser.build/Objects-normal/arm64/SKPhotoBrowser.bc'.
4.  Running pass 'ObjC ARC contraction' on function '@UI_USER_INTERFACE_IDIOM'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  swift-frontend           0x00000001077f8de7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 39
1  swift-frontend           0x00000001077f7e38 llvm::sys::RunSignalHandlers() + 248
2  swift-frontend           0x00000001077f9440 SignalHandler(int) + 288
3  libsystem_platform.dylib 0x00007ff810cf2dfd _sigtramp + 29
4  libsystem_platform.dylib 0x000000031069bae0 _sigtramp + 18446603383459187968
5  libsystem_c.dylib        0x00007ff810c28d24 abort + 123
6  swift-frontend           0x0000000107745cda llvm::report_bad_alloc_error(char const*, bool) + 106
7  swift-frontend           0x0000000107745cf2 out_of_memory_new_handler() + 18
8  libc++abi.dylib          0x00007ff810c9a96b operator new(unsigned long) + 43
9  swift-frontend           0x0000000107506efd llvm::Function::BuildLazyArguments() const + 77
10 swift-frontend           0x00000001052efe87 llvm::objcarc::BundledRetainClaimRVs::insertRVCallWithColors(llvm::Instruction*, llvm::CallBase*, llvm::DenseMap<llvm::BasicBlock*, llvm::TinyPtrVector<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::detail::DenseMapPair<llvm::BasicBlock*, llvm::TinyPtrVector<llvm::BasicBlock*> > > const&) + 151
11 swift-frontend           0x0000000105302f88 (anonymous namespace)::ObjCARCContract::run(llvm::Function&, llvm::AAResults*, llvm::DominatorTree*) + 1384
12 swift-frontend           0x000000010753e380 llvm::FPPassManager::runOnFunction(llvm::Function&) + 1488
13 swift-frontend           0x0000000107545073 llvm::FPPassManager::runOnModule(llvm::Module&) + 67
14 swift-frontend           0x000000010753eb39 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1161
15 swift-frontend           0x0000000102a5c6df swift::performLLVMOptimizations(swift::IRGenOptions const&, llvm::Module*, llvm::TargetMachine*) + 3791
16 swift-frontend           0x0000000102a5d8cc swift::performLLVM(swift::IRGenOptions const&, swift::DiagnosticEngine&, llvm::sys::SmartMutex<false>*, llvm::GlobalVariable*, llvm::Module*, llvm::TargetMachine*, llvm::StringRef, swift::UnifiedStatsReporter*) + 2812
17 swift-frontend           0x0000000102a66aa5 swift::performLLVM(swift::IRGenOptions const&, swift::ASTContext&, llvm::Module*, llvm::StringRef) + 213
18 swift-frontend           0x0000000102521795 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 16565
19 swift-frontend           0x00000001024e05d4 swift::mainEntry(int, char const**) + 1108
20 dyld                     0x000000020a16151e start + 462
21 dyld                     0x000000020a15c000 start + 18446744073709530288
error: Abort trap: 6 (in target 'SKPhotoBrowser' from project 'Pods')

我对多个库(ObjectMapper、Alamofire)有相同的评论,但这不是真正的错误(正如 ryanavocado 所建议的)。在我的例子中,我在 SKPhotoBrowser 中也有分段错误,所以我尝试更新 SKPhotoBrowser pod,但没有成功。幸运的是这有效:

pod 'SKPhotoBrowser', :git => 'https://github.com/suzuki-0000/SKPhotoBrowser.git', :branch => 'master'

按照建议here

所以总而言之,问题不在于实际的评论,而是其他一些错误。

此问题是由于升级到新的 Xcode 版本所致。

1 - 删除开发人员中的文件 Xcode 项目索引文件

2 - 再试一次