【问题标题】:Xcode 6.1 different "deployment info" section for duplicated targetXcode 6.1 重复目标的不同“部署信息”部分
【发布时间】:2015-05-01 20:45:50
【问题描述】:

所以, 我有一个通用项目

“部署信息”部分如下所示:

然后我复制目标

我希望这两个目标是相同的,实际上它们在所有方面看起来都相同,但重复的一个细节不同:

复制的目标有 2 个选项卡,可以为 iPad 和 Iphone 选择不同的选项;这真的很有意义,因为使用通用我可以选择检查不同的东西。 不过,最初的目标似乎只显示 iPhone 选项。我知道我可以在其他地方更改 iPad 的选项,但我不明白为什么会有所不同

现在的问题是:我错过了什么吗? 目标真的相同还是我做错了什么? 是 Xcode 的错误吗?

一切正常,目标相同,但我有点担心将来可能会出现一些问题。

非常感谢!

【问题讨论】:

  • 复制目标后我遇到了完全相同的问题。一切似乎都正常,但很奇怪......你找到原因了吗?
  • 不,我认为这只是一个错误。无论如何,一切正常.. 可能是一个未记录的功能;)
  • 是的。很高兴知道我们不是唯一的人;)
  • 我也遇到了同样的问题。我在原始目标中有单独的 iPhoneiPad 按钮,但它们被复制目标中的下拉菜单替换。我只是觉得这很奇怪,我并不担心,直到我注意到两个目标之间在处理某些特定的自动布局 UI 方面存在一些差异(第二个目标在运行完全适用于原始版本的完全相同的代码时存在错误目标)。我很想知道这里发生了什么以及为什么为两个不同目标构建的应用程序的行为不同。 :-(

标签: ios iphone xcode ipad xcode6


【解决方案1】:

我找到了影响Xcode部署信息显示行为的属性:

在 project.pbxproj 文件的 PBXProject 部分,有几行如下所示:

            TargetAttributes = {
                22CFA0081BE46E9A00A89E90 = {
                    CreatedOnToolsVersion = 7.2;
                };
            };

如果项目中存在此属性,Xcode 将不会显示“iPhone”和“iPad”按钮。只需删除这些行,按钮就会显示出来。

这应该是Xcode7.2的bug

【讨论】:

  • 新创建的通用项目(在 Xcode 7.2.1 中)没有 iPhone/iPad 按钮。他们应该这样做吗?
  • 在任何“CreatedOnToolsVersion”上,您只需将其删除,它就会再次起作用!
  • 谢谢!我对 Xcode 7.3 也有同样的问题。一个目标允许我分别选择 iPad 和 iPhone,而我最初的(最旧的)目标没有。删除所有出现的 CreatedOnToolsVersion = x.x; 修复了此问题。
  • project.pbxproj 文件删除 CreatedOnToolsVersion 行 TargetAttributes = { XXXXXXXXXXXXXXXXXXXXXXXXX = { CreatedOnToolsVersion = 8.3; //那 }; };
  • 这在 Xcode 10.1 (10B61) 中仍然发生 :( 但修复仍然有效!
【解决方案2】:

我今天在我的项目中发现了同样的问题。 但我需要一个解决方案,因为它在使用 iPad 时不符合我在原始目标上的方向设置。

我复制了已经复制的目标。此解决方案有效,但我放弃了它以限制生产构建设置的风险。

我最终只是修改了适当的 ProjectX-Info.plist 文件 找到“支持的界面方向 (iPad)”键 并添加所有 4 个方向。 (用你的目标替换“ProjectX”)

我正在使用 Xcode 7.0.1 (7A1001),希望它在未来的版本中得到修复

【讨论】:

猜你喜欢
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-22
相关资源
最近更新 更多