避免用户意外打开 Xcodeproj 而不是 Xcworkspace

Posted

技术标签:

【中文标题】避免用户意外打开 Xcodeproj 而不是 Xcworkspace【英文标题】:Avoiding users accidentally opening Xcodeproj instead of Xcworkspace 【发布时间】:2019-05-15 16:02:20 【问题描述】:

发帖人:https://groups.google.com/forum/#!topic/cocoapods/7LV3LKI0hHE

React Native 正在向所有新创建的项目默认使用 Cocoapods 发展,并使用它来支持称为“自动链接”的功能(有关详细信息,请参阅here)。这主要是为了解决用户在他们的 ios 项目中链接库依赖项的主要痛点。以前,超过 50% 的库维护报告的“错误”只是由于缺乏原生 iOS 开发知识而错误地链接库的人。有了 Cocoapods 和自动链接,我们希望这会消失。

我们认为 React Native 用户可能遇到的一个问题是,如果他们不小心打开了 Xcodeproj 文件而不是 Xcworkspace 并出现构建错误。我们想让那些可能有很多 iOS 开发经验但不了解文件之间区别的用户尽可能清楚地知道出了什么问题。由于这不是 React Native 特有的问题,而是所有 Cocoapod 用户都需要记住的事情,我认为最好寻求一些建议。

我们可以做些什么来鼓励用户打开工作区而不是项目文件?我们可以以某种方式“隐藏”项目文件,还是这样做比它的价值更麻烦? 如果用户尝试从项目而不是 Xcode 中的工作区文件构建,是否有办法显示明确的错误?我们可以做的任何事情来避免“链接错误”或其他任何对没有太多原生开发经验的用户来说很神秘的事情都是一种奖励。

【问题讨论】:

【参考方案1】:

您可以将.xcodeproj 文件移动到其他子文件夹。 并在你的 podfile 中添加xcodeproj 'yoursubfolder/test.xcodeproj' 上面的target 'test' do

【讨论】:

【参考方案2】:

@arun siva 的 answer 有效,但根据您使用的 CocoaPods 版本,它可能有点旧。在较新的版本中,它可能应该是 project 'yoursubfolder/test.xcodeproj' per https://***.com/a/37385740/271351。您可能还必须打开项目并调整其中的所有引用。

【讨论】:

以上是关于避免用户意外打开 Xcodeproj 而不是 Xcworkspace的主要内容,如果未能解决你的问题,请参考以下文章

你可以在 iOS 应用程序中使用 Package.swift 而不是使用 .xcodeproj 吗?

了解 Xcode 项目文件 .xcodeproj

使用代码0xC0000417(无效的C运行时参数)退出意外的程序

多个Xcode,如何选择打开xcodeproj文件[关闭]

进程完成,退出代码 -1073740791 (0xC0000409) 错误未打开网站

iOS 工程文件(.xcodeproj)无法打开