5

我最近将我的 XCode 升级到 4.5 版本,现在当我尝试将应用程序开发到 iOS 5.0/5.1 时遇到问题。

我开发了一个简单的 iPad 游戏,用户需要将图像与对应的单词进行匹配。如果相关,所有这些项目都存储在 UIImageView 中。支持的界面方向仅为横向。

当我使用 iPad 6.0 Simulator 运行我的应用程序时,一切正常,没有任何问题。但是当我尝试使用 5.1 运行它时,一切都出错了。图像根本没有出现,我的背景图像出现在侧面并重复出现。状态栏也出现错误:设备方向为横向,但侧边栏出现在右侧。当我使用 6.0 模拟器时,这也不会发生。

在项目详细信息中,我已经将 iOS 部署目标更改为 5.1,在 Storyboard 中也是如此。使用 iOS 5.1 部署目标时,故事板不允许我选择“使用自动布局”选项,所以我取消了此选项。这是由这个选项引起的吗?

我已经尝试在设备中运行我的应用程序,但结果是一样的。自从我安装了 XCode 4.5 我开始遇到这些问题,例如我什至无法在 iOS 5.x 模拟器中正确运行“主从应用程序”模板,因为当我单击“添加”按钮时它崩溃了.

我是否缺少运行使用 SDK 6 创建的 5.x 应用程序的东西?我已经在很多论坛中搜索过,但我还没有找到任何解决此类问题的方法。我很乐意听取任何建议,因为我已经在这个问题上浪费了很多时间,而且我已经没有选择了。

[编辑]:我记得一个可能与此问题相关的细节:我在情节提要中的视图是自定义视图。我创建了一个从 UIView 扩展的类,这样我就可以覆盖 drawRect 函数来在我的对象之间画线。然后在情节提要的视图中,我刚刚在自定义类 -> 类中选择了我的类。

我注意到,当我运行 5.1 Simulator 时,状态栏最初出现在顶部,然后在加载窗口时它转到右侧。

如果您想知道任何其他细节,请问我。

非常感谢。

4

3 回答 3

4

英语不是我的母语,所以请原谅我的语法...

至于您的主详细信息“添加”按钮问题,这对我有用。

据我所知,该应用程序崩溃的原因是:

[UITableView dequeueReusableCellWithIdentifier:forIndexPath:]: unrecognized selector sent to instance

快速帮助 说:

- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath declaration is only available in iOS (6.0 and later).

所以我尝试更改 MasterViewController.m 中的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    [self configureCell:cell atIndexPath:indexPath];
    return cell;
}

对于 Xcode 在旧版本中使用的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

    }
    [self configureCell:cell atIndexPath:indexPath];
    return cell;
}

希望这可以帮助。

于 2012-10-25T01:25:29.400 回答
2

您是否检查过故事板以确保您已关闭自动布局?自动布局仅适用于 iOS6。在 Interface Builder Document 下的 File Inspector Area 查看视图控制器时可以找到此选项。这是一个复选框

于 2012-09-27T17:40:52.683 回答
0

似乎您不是 XCode 4.5 中唯一遇到 Simulator 5.1 问题的人。 iPhone Simulator 5.1 和 Xcode 4.5 中的错误使用 UIManagedDocument 我的应用程序也坏了。5.0 sim 似乎运行良好。

于 2012-10-10T01:52:56.230 回答