即使部署目标设置为2.0,iPhone SDK 3/4应用程序也无法在iPhone 2.x设备上运行

时间:2010-06-09 20:07:16

标签: ios ios4 iphone-sdk-3.0 iphone-sdk-2

我知道基本/活动SDK与部署目标之间的区别。我的基本SDK设置为4.0,部署目标设置为2.0。我没有使用任何API 2.x,条件或其他。由于我无法在2.x设备上进行调试,因此在构建之后,我使用iPhone配置实用程序在设备上安装应用程序,它就可以了。问题是,它没有运行!我只是得到一个空白的屏幕。主窗口永远不会出现!

现在问你......

  1. 我在iPhone SDK 3.x中遇到了同样的问题。我升级到4.x希望它能够解决。事实并非如此。

  2. 是的,已安装配置文件。 (如果不是,则无法安装该应用。)

  3. 这个相同的编译应用程序在3.x设备上运行良好。与4.x设备相同。只是没有2.x设备。

  4. 同样,不,我没有使用任何post-2.x SDK。为了证明这一点,我从“新建项目”对话框创建了一个全新的基于窗口的应用程序,我所做的唯一更改是窗口的背景颜色(以证明加载了XIB),并将部署目标设置为2.0(它仍然是针对4.x SDK编译的。)同样,它在3.x或4.x设备上运行良好,但在2.x设备上只是一个黑色的空白屏幕。

  5. 我在三个单独的2.x设备上尝试了这个,包括一个刚刚恢复的设备。我使用了三台独立的开发机器(带有3.x SDK的MacBook Pro,带有4.x SDK的MacBook Pro和带有3.x SDK的Mac Pro。)每次都有相同的结果。

    我很难过。

    即使是未经修改的项目也没有运行,这一事实让我很困惑。它可能是XIB文件吗?他们是否在2.x SDK中将格式从2.x更改为更新的格式?如果是这样,我该如何将其设置回2.x. (再次,这只是一个完整的猜测。)但我真的很难过!

3 个答案:

答案 0 :(得分:0)

您是否检查过applicationDidFinishLaunching:options:调用您的应用代理?

选项:参数是在3.0中添加的,并且在我之前的3.0版代码中都没有,尽管早期的表单仍然有效。

选项词典:用于将信息传递给您的应用,例如“我是从safari开始使用的网址”等。

如果您希望在2.0上运行,您应该将其更改回原来的'applicationDidFinishLaunching:'。

答案 1 :(得分:0)

2.x完全弃用,无法发布到应用商店。您应该能够使用以前版本的xCode将其安装在设备上,但这就是它。更多信息,请访问我的社区维基:

Install xCode 3.2.3 w/ iPhone SDK 4, get "Base SDK missing", can't see other SDKs

答案 2 :(得分:0)

事实证明,苹果公司确实做出了一个突破性的变化(或者更确切地说,是一个“修正”变化)他们没有评论。具体来说,我们的应用程序没有通过代码或通过IB中的“启动时显示”选项明确设置主窗口。但是......在SDK的一个版本中,运行时看不到任何设置但需要显示内容,它隐含地显示了主XIB文件中的窗口。但是,较新的(和较旧的)SDK(实际上是运行时)没有这种隐式行为,因此当我们的代码没有明确显示窗口时,我们只是得到一个空白屏幕。

因此,我们只需检查IB中的“启动时显示”选项即可。做完了!