我的 Xcode 项目是如何从 iOS 项目变为 OSX 项目的?

Posted

技术标签:

【中文标题】我的 Xcode 项目是如何从 iOS 项目变为 OSX 项目的?【英文标题】:How did my Xcode project get changed from iOS project to an OSX project? 【发布时间】:2013-08-01 02:51:55 【问题描述】:

我一直只做 ios 开发,从未开发过 OSX 应用程序。在我现在正在处理的 iOS 项目中,我发现 Xcode 突然认为它是一个 OSX 项目。我所有的框架文件都显示为红色(缺失),项目面板中的许多选项显示仅适用于 OSX 的选项,例如“部署目标”,它仅提供 10.4、10.5、10.6 等,并且在 Build设置有效架构​​显示 i386 x86_64 没有下拉选项。

发生了什么?如何将其改回 iOS 项目?

【问题讨论】:

回家 Xcode,你喝醉了。 点击 xcode 项目(蓝色的小东西)并确保所有设置都显示为 ios “小蓝东西”我猜你的意思是项目导航面板左上角的项目。不,他们并没有都说 iOS 是问题所在,而且似乎没有办法改变它们。例如,如果我在窄列中选择“项目”,我在大中心部分“信息”和“构建设置”中有 2 个选项卡。 Build Settings 选项卡包含所有内容的 iOS 和 iPhoneOS,但 Info 选项卡包含所有内容的 OSX 条目。例如,信息选项卡的顶部标题为“部署目标”,其中唯一的条目标记为“OS X 部署目标”,并带有版本下拉菜单。 使用您的源代码管理并在问题之前/之后比较您的项目文件。 是的,我试过了。我看到了可能相关的项目构建选项的差异,但我不明白为什么它们中的任何一个会让 Xcode 认为它应该构建一个 Mac OSX 项目。据我所知,没有任何改变提到与 OSX 相关的任何内容。无论如何,我恢复了一个快照,它按预期构建了一个 iOS 目标,所以我重新开始工作了。我希望我能理解发生了什么,但我想我永远不会知道。 【参考方案1】:

回答这个问题可能会迟到 2 点,但是,这个答案将来可能会对某人有所帮助,因为上述答案对我没有帮助,所以这就是我所做的。

1-在Xcode左上角点击scheme。

2-点击编辑方案

3- 在新窗口中将“Executable”从 non 更改为您的项目方案名称“target”

4- 如果没有自动更改为 iPhone/iPad,则在顶部显示“我的 Mac 64 位”,请手动更改。

5- 如果没有任何选项,请在窗口底部单击“管理方案”并确保 选中项目方案旁边的复选框。

希望这可以帮助并节省任何人的时间。

【讨论】:

【参考方案2】:

根据您的评论,您在导航时应该没有问题。

转到您的项目(左上角)-> 项目(子菜单中的项目名称)-> 构建设置 -> 在 Architectures 菜单选择 Base SDK 并选择 iOS 6.1


这应该会切换回您的项目。现在,在 Info 下,您应该会看到 Deployment Target 选项已从 OS X Development Target 切换到 iOS Development Target


至于为什么它最初会改变,我不知道。但希望这能解决您的问题。

【讨论】:

我认为当这发生在我身上时,iOS SDK 并未显示为可用。 (虽然其他项目没有受到影响。) @HotLicks 明白了。我只是根据他的第一条评论进行的,其中只包括他查看部署目标(在第二张图片中)。 我给这个答案打了绿勾,因为它很清楚而且写得很好,可能会为其他人回答这个问题。但我不认为这会是我的情况的答案。我记得 Base SDK 没有下拉选项。更改它的唯一方法是双击文本框并键入一个选项。我尝试了几种不同的可能性。我从另一个有效的项目中复制了条目,并输入了(如果我没记错的话)“iPhone iOS”或类似的东西。没有下拉选项可能是某些事情搞砸的线索。但我还是不知道是什么。 @RobertL 根据您的记忆和 HotLicks 的评论,您可能是对的。我从来没有遇到过这种情况,所以这真的只是一个有根据的猜测。认为它可能会有所帮助。谢谢顺便说一句!【参考方案3】:

我知道这是一篇旧帖子,但这只是在一个有多个目标的项目中发生在我身上。

我正在使用 github,并且在使用较新的编译器后,它在文件顶部使用合并块标记了我的一个目标方案文件。我可以通过 XCode 找到一种方法来编辑方案,但是在重新打开项目时,它又会变得很糟糕。

我必须手动编辑文件并完成合并编辑。

【讨论】:

【参考方案4】:

这最近发生在我的 Xcode 8 中,其中一个旧的 iOS 项目变成了双目标 macOS / iOS 项目。

为了解决这个问题,我将 Project -> Build Settings 下的 Base SDK 更改为最新的 iOS (iOS10),并且更改通过删除 macOS 目标而产生。

【讨论】:

【参考方案5】:

我通过删除显示问题的方案并重新创建它来解决此问题。这次它被创建为所需的方案类型,显示所有附加的模拟器和设备(如果有)。

【讨论】:

以上是关于我的 Xcode 项目是如何从 iOS 项目变为 OSX 项目的?的主要内容,如果未能解决你的问题,请参考以下文章

如何从现有 Xcode 项目中删除 Apple Watch 应用程序?

如何配置我的 Xcode 项目以在多个版本的 iOS 上运行?

xCode iOS 项目。如何从现有项目开始创建新项目

从 iOS 应用程序中检索 XCode 项目?

IOS如何在目标c中将AFNetworking添加到我的xcode项目中

我如何通过 swift 2.3 项目支持 iOS 版本 10.3