我最近将我的XCode升级到4.5版本,现在当我尝试将应用程序开发到iOS 5.0 / 5.1时,我遇到了问题。
我开发了一款简单的iPad游戏,用户需要将图像与对应的单词进行匹配。如果相关,所有这些项都存储在UIImageView中。支持的界面方向仅为横向。
当我使用iPad 6.0 Simulator运行我的应用程序时,一切正常,没有任何问题。但是当我尝试使用5.1运行它时,一切都会出错。图像根本没有出现,我的背景图像出现在侧面并重复出现。状态栏也显示错误:设备方向为横向,但侧边栏显示在右侧。当我使用6.0模拟器时也不会发生这种情况。
在项目详细信息中,我已经将iOS部署目标更改为5.1,以及故事板。使用iOS 5.1部署目标,故事板不允许我选择“使用Autolayout”选项,因此我取消选择此选项。这是由此选项引起的吗?
我已经尝试在设备中运行我的应用程序,但结果是一样的。自从我安装XCode 4.5后,我开始遇到这类问题,因为例如我甚至无法在iOS 5.x模拟器中正确运行“Master-detail Application”模板,因为当我点击“Add”按钮时它会崩溃
我是否遗漏了使用SDK 6创建的5.x应用程序?我已经在很多论坛上搜索过但我还没有找到解决这类问题的方法。我很乐意听取任何建议,因为我已经在这个问题上浪费了很多时间,而且我已经没有选择了。
[编辑] :我记得可能与此问题相关的详细信息:我在故事板中的视图是自定义视图。我创建了一个从UIView扩展的类,以便我可以覆盖drawRect函数来在我的对象之间绘制线条。然后在Storyboard中,在View中,我刚刚在Custom Class中选择了我的类 - >类。
我注意到当我运行5.1 Simulator时,状态栏最初显示在顶部,然后当窗口加载时,它会向右移动。
如果您想了解任何其他细节,请问我。
非常感谢。
答案 0 :(得分:4)
英语不是我的母语,所以请原谅我的语法......
就你的Master-detail“添加”按钮问题而言,这对我有用。
据我所知,应用程序崩溃的原因是:
[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;
}
希望这有帮助。
答案 1 :(得分:2)
您是否检查了故事板以确保关闭了Autolayout? Autolayout仅适用于iOS6。在Interface Builder Document下的File Inspector Area中查看视图控制器时,可以找到此选项。这是一个复选框
答案 2 :(得分:0)
好像你不是XCode 4.5中唯一一个有Simulator 5.1问题的人。 Bug in iPhone Simulator 5.1 with Xcode 4.5 using UIManagedDocument 我的应用程序也破了。 5.0 sim似乎运作良好。