【问题标题】:Issues running iOS 5.1 simulator using XCode 4.5使用 XCode 4.5 运行 iOS 5.1 模拟器的问题
【发布时间】:2012-09-19 13:18:41
【问题描述】:

我最近将我的 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 时,状态栏最初显示在顶部,然后在加载窗口时它会转到右侧。

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

非常感谢。

【问题讨论】:

    标签: ios ipad ios-simulator xcode4.5


    【解决方案1】:

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

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

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

    [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;
    }
    

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的,正如我在最初的问题中所说,我关闭了自动布局。如果选中此选项,XCode 甚至不允许我使用 5.1 模拟器运行项目。
      • 我注意到要在 5.1 Simulator 中保持横向,我需要在 View Controller 中覆盖 shouldAutorotateToInterfaceOrientation 方法,但是我在 Storyboard 中定义的图像仍然没有出现。我是否需要更改其他内容才能使其在 5.1 模拟器中像在 6.0 中一样正常工作?
      【解决方案3】:

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

      【讨论】:

      • 我的问题发生在 5.0 和 5.1 中。例如,我什至无法在任何 iOS 5.x 模拟器中正确运行“主从应用程序”模板,但它在 6.0 中运行良好。
      猜你喜欢
      • 2012-09-25
      • 2012-07-26
      • 2013-11-01
      • 2014-10-12
      • 1970-01-01
      • 2012-09-10
      • 2012-08-08
      • 1970-01-01
      相关资源
      最近更新 更多