我的 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 上运行?