Xcode Cloud: Target must be enabled before it can be used 解决

把我的小项目配置好 Xcode Cloud 后遇到了编译失败。我的项目引用了一个库使用了 swift macro,因此需要进行一些项目配置。

解决方式是在项目根目录下创建一个文件夹 ci_scripts。

在这个目录下创建一个脚本文件 ci_post_clone.sh。

在文件中写入:

defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES

重新编译就可以了。

CI 脚本提供了 3 个时机来进行项目设置:

ci_post_clone.sh:在你的项目 clone 完后执行。可以在这里进行一些环境配置,依赖包的配置。

ci_pre_xcodebuild.sh:在项目开始编译前执行。

ci_post_xcodebuild.sh:在项目编译完成后执行。这里可以用来发个编译完成通知,或者将包传到什么地方。


Writing custom build scripts

相关推荐
QWQ___qwq2 天前
SwiftUI 的状态管理包装器(Property Wrapper)
ios·swiftui·swift
小瓶盖_tl2 天前
在Mac上安装CocoaPods问题处理
macos·xcode·cocoapods
jh_cao4 天前
(4)SwiftUI 基础(第四篇)
ios·swiftui·swift
jh_cao5 天前
(3)SwiftUI 的状态之上:数据流与架构(MVVM in SwiftUI)
ios·架构·swiftui
jh_cao5 天前
(3)容器布局进阶:Spacer、Divider、Frame 与 Alignment
swiftui
东坡肘子5 天前
Sora 2:好模型,但未必是好生意 | 肘子的 Swift 周报 #0105
人工智能·swiftui·swift
jh_cao5 天前
(1)SwiftUI 的哲学:声明式 UI vs 命令式 UI
ui·swiftui·命令模式
HarderCoder5 天前
Swift 6 并发深渊:@unchecked Sendable 与“隐式 MainActor”如何合谋杀死你的 App
swiftui·swift
HarderCoder5 天前
告别 UIKit 生命周期:SwiftUI 视图一生全解析——从 init 到 deinit 的“隐秘角落”
swiftui·swift
大熊猫侯佩6 天前
天网代码反击战:Swift 三元运算符的 “一行破局” 指南
swiftui·swift·apple