Xcode 13 让我很难构建我的项目,该项目由具有生成代码的构建阶段的目标组成。
例如,一个构建阶段Secrets+Generated.swift
只需使用将某些代码回显到该文件中的 shell 脚本即可生成该文件。
构建阶段将该文件定义为输出文件。没有输入文件,没有输入文件列表,也没有输出文件列表,因为只创建/修改了一个文件。
构建项目时几乎总是会失败:
error: input file '[ProjectPath]/Secrets+Generated.swift' was modified during the build
error: input file '[ProjectPath]/Secrets+Generated.swift' was modified during the build
Command CompileSwiftSources failed with a nonzero exit code
Run Code Online (Sandbox Code Playgroud)
有人遇到过这个问题或者知道该怎么办吗?我尝试切换“基于依赖性分析”复选框,但这没有帮助。我在使用 Xcode 12 时没有遇到这个问题。有趣的是,尽管只有一个构建阶段生成该特定文件,但还是出现了重复的错误消息。
顺便提一句。当使用swiftgen、Sourcery或Cuckoo等代码生成工具时,我遇到了同样的问题。
编辑:这是我的构建阶段:
三个标记的构建阶段都会生成一个这样的文件。他们都偶尔会失败。我不知道这是否有什么不同,但这些只是为一个目标(通知服务扩展)定义的,它是我的主应用程序目标的依赖项,因此当我构建应用程序时它只会触发一次。
今年推出了CloudKit共享,我正在努力实现它.
我正在使用UICloudSharingController
和我在成功处理程序中保存共享及其根记录.但是,当我共享链接(例如通过iMessage)并在另一台设备(不同的iCloud帐户,相同版本)上打开它时,它会显示以下错误:
无法打开"分享"
您需要更新版本
APPNAME
来打开它,但在App Store中找不到所需的版本.如果您不确定要使用哪个版本,请与所有者联系.
由于这是一个新的应用程序,它当然不在App Store中.我需要先测试共享(Chicken或egg?),所以任何人都知道如何测试CloudKit共享?
我想有一个像-(void)removeAllChildrenWithTag:(int)tag
CCNode子类中的方法.你会怎么做?
我正在将我的游戏的每一轮添加到此节点上,并且在该轮结束后我想删除它们.我认为给他们所有相同的标签会很好,所以我可以通过标签删除它们.但是只有一种方法可以删除带有标签的一个孩子.
我知道我可以调用这种方法,直到没有孩子离开,但我认为它会很慢.有没有更好的解决方案,如通过整个孩子并删除每个提到的标签?我不知道该怎么做,因为你无法删除for(* in *)
-loop 中的任何子节点.
希望您能够帮助我.:)