10

我有一部 iPhone 4s。我在手机中收到 iOS 7 更新。所以问题是:我可以在我的 iOS 7 设备上从 Xcode 运行 iOS 6 应用程序吗?

注意:我没有 XCode 5,所以这就是我想知道在装有 iOS 7 的 iPhone 4s 上从 XCode 4.6.1 运行 iOS 6 应用程序的原因。

4

9 回答 9

10

这是你需要做的:

  • 关闭所有 Xcode 应用程序
  • 运行 Xcode 5 并等待设备被识别
  • 同时运行 Xcode 4.6.3
  • 关闭 Xcode 5

来源: http: //gerrybeauregard.wordpress.com/2013/07/12/testing-xcode-4-ios-6-sdk-app-on-ios-7-device/

于 2013-09-27T14:40:16.670 回答
7

如果没有 Xcode 5,您构建的所有应用程序都将构建为 iOS 6 应用程序,并且即使您的设备运行的是 iOS 7,它们也会在您的设备上以 iOS 6 模式运行。您可能希望为此保留 Xcode 4,即使虽然 Xocde 5 现在在 App Store 中。在 Xcode 5 中构建时,我无法可靠地让应用程序作为 iOS 6 应用程序运行。

于 2013-09-18T21:59:15.037 回答
4

是的,您可以在您的 iOS7 设备中从 Xcode 运行 iOS6 应用程序。

它们将以兼容模式运行,这假设就像在 iOS6 设备上运行应用程序一样,但实际上有些东西可能无法按预期工作。我在 SDK 中遇到了旋转、UIAlerViews 和其他组件的问题。

于 2013-09-19T07:19:20.753 回答
2

应用程序在 iOS7 上运行的模式由用于链接可执行文件的 Base SDK 确定。如果您链接到 iOS 6 SDK(包含在 Xcode 4.6.3 中),您的应用程序将在 iOS 7 下运行,但外观和行为类似于在 iOS 6 下运行。

于 2013-09-22T14:28:38.317 回答
2

就我而言,我将 Build Settings -> Build Options -> Compiler for C/C++/Objective-C 更改为 Default compiler 然后它就解决了。

于 2013-09-24T06:29:03.113 回答
1

是的,您可以在 IOS 7 中运行您的 IOS 6 应用程序,但有时它的图形无法正确显示,或者有时在 IOS 7 中可能会崩溃...

所以最好在你的 ios 6 应用程序中使用 Autolayout 并在你的 ios7 设备中运行。

于 2013-12-17T12:44:17.117 回答
0

我无法将 MacOS 从 10.7.5 升级到 10.8.x,这就是为什么我无法在我的 MAC 上安装 Xcode5。我下载了 Xcode5 但由于不兼容无法安装。

我能够在带有 iOS 7 的 iPhone 4 上以调试模式使用 XCode 4.6 运行应用程序(并且无法表达在那之后我有多高兴)

脚步:

使用不兼容的 Xcode5(将它从 dmg 图像复制到其他地方,其中会有一个叉号)并右键单击它并单击“显示包内容”。进入Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs,显示包内容后将iPhoneOS7.0.sdk文件复制到Xcode4.6对应文件夹中。进入Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport,将7.0和7.0.3(11B508)文件复制到Xcode4.6对应文件夹中,显示包内容后即可。现在,当您打开 Xcode4.6 时,您的项目 Base SDK 应该是 7.0,如果尚未检测到您的设备,请断开并重新连接您的设备,以便它开始“从 iPhoneXYZ 获取符号文件”

希望这可以帮助某人。

更重要的一件事,在您的方案中,调试器应设置为“LLDB”

于 2013-10-27T10:08:46.980 回答
0

要在 iOS 设备上测试 iOS 6 应用程序,您需要在开发机器上安装 xcode 4 和 xcode 5。步骤 1. 运行 Xcode 5 并在 ios 7 设备上运行项目。步骤 2. 运行 Xcode 4,现在您将在 xcode 4 的方案菜单中找到 ios 7 设备。 步骤 3. 运行您的项目并享受。

于 2013-11-28T14:54:36.393 回答
-2
  if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
        self.edgesForExtendedLayout = UIRectEdgeNone; 

// iOS 7(x)

于 2014-04-11T05:39:52.343 回答