为了达到这个目的,他们决定使用 XcodeGen 开发自己的 Xcode 工作区生成器。 最重要的是,他们分三个步骤执行迁移过程,避免对开发人员的工作流造成干扰。 与 Buck 生成项目相比,使用 XcodeGen 生成的时间缩短了 60%,Xcode 的打开时间缩短了 70% 以上。
在补丁的几十个修改程序中,有一堆 XCodeGen 类函数,它们都初始化 XCode 框架: .text:72733631;公共: void __thiscall XCodeGen::brns( 事实上,XCodeGen 的所有功能 类将增量值初始化为零。 但是,在某些情况下 调用 XCodeGen::ensureCapacity() 后值损坏: .text:726C6B93 ; public: void __thiscall XCodeGen:: ch@XCodeGen@@QAEXPAVNavFilter@@@Z proc 附近 .text:726C6B93 .text:726C6B93 arg_0 = dword ptr 8 .text XCodeGen::last (720ef10c) 720ef102 e918cefbff jmp msxml6!
为解决这一问题,Slack 工程师会使用 Xcodegen 来生成 YAML 文件对应的.xcodeproj 文件,后者是一种更为宽容的格式。
gitlab-runner libbitcoin-database netcdf rebar3 xcodegen
该工具可自动将 Xcode 项目中的虚拟目录转换为实际文件目录,使项目结构更加清晰,同时兼容XcodeGen和Tuist,为 Xcode 项目的现代化管理提供了一种高效的解决方案。
Pedro Piñera[17]在本文中总结了多种有效的缓解策略:从经典的多项目拆分、使用 Tuist / XcodeGen 进行项目生成,到将 SwiftPM 作为本地项目管理工具,再到 Xcode
Wise移动应用:更快、更智能、更高效 我们的iOS工程师通过将250多个Xcode模块从Xcodegen迁移到Tuist,并将Cocoapods切换到Swift Package Manager(SPM