Iphone iOS4破坏了我的应用程序

Iphone iOS4破坏了我的应用程序,iphone,objective-c,ios4,Iphone,Objective C,Ios4,在所有已经更新到iOS4的iphone(我们检查过)上,我们的应用程序与之前的操作系统版本(3.1.3)表现不同(有缺陷)。第一个也是最大的问题是,在3G(而不是3G)上,任何UIAlertView都会冻结应用程序-实际上,该应用程序似乎失去了将其交给UIAlertView的焦点,但UIAlertView也没有获得焦点。我必须注意,我的应用程序使用的是OpenGL ES 1.1 其他的bug看起来像是一些变量得到了不同的初始设置。例如,颜色选择器从黄色开始,而不是黑色,多点触控计数器给出错误的结

在所有已经更新到iOS4的iphone(我们检查过)上,我们的应用程序与之前的操作系统版本(3.1.3)表现不同(有缺陷)。第一个也是最大的问题是,在3G(而不是3G)上,任何
UIAlertView
都会冻结应用程序-实际上,该应用程序似乎失去了将其交给
UIAlertView
的焦点,但
UIAlertView
也没有获得焦点。我必须注意,我的应用程序使用的是OpenGL ES 1.1

其他的bug看起来像是一些变量得到了不同的初始设置。例如,颜色选择器从黄色开始,而不是黑色,多点触控计数器给出错误的结果,等等

即使这样也会冻结应用程序:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Please read help before using Facebook/Twitter/Flickr" 
                                               delegate:self 
                                      cancelButtonTitle:@"OK" 
                                      otherButtonTitles:nil, nil]; 
[alert show]; 
[alert release];
有人知道吗


编辑:只是想通知您,我们已经解决了所有问题。在仔细检查我们的代码和发现我们做错的东西时,发现了一些问题。在iOS3中,同样的bug是不可察觉的,因为操作系统本身速度更快,但在iOS4中,应用程序却被破坏得奄奄一息。还有一些变量需要初始化为默认值(例如-int x=0;而不是int x;),然后事情开始按预期工作。

听起来很老套,请仔细检查内存管理。随着框架在主要版本之间的显著发展,代码中的任何潜在内存管理问题都可能是这种奇怪的根源。

我认为一个“nil”可以解决“otherbuttontiles”的问题。第二个可能是撞车的原因吗


如果没有,在崩溃时您的控制台上报告了哪些错误?

我们发现,与iOS 3相比,iOS 4在内存管理问题上更具攻击性。从设计角度来看,这很有意义,因为苹果现在不得不担心大量应用程序可能同时运行。我们有大量的崩溃错误,这些错误是由糟糕的内存管理造成的,在iOS 3中根本没有出现

您在UIAlertView中显示了什么?它是否显示与数字相关的内容?那颜色选择器呢?我会在这里思考操作系统以及它如何处理数据类型。(特别是不同的数字类型)即使这样也会冻结应用程序:UIAlertView*alert=[[UIAlertView alloc]initWithTitle:nil消息:@“请在使用Facebook/Twitter/Flickr之前阅读帮助”委托:self-cancelButtonTitle:@“确定”其他Buttontitles:nil,nil];[警报显示];[警报发布];您确定没有弄乱UIAlertView或其他系统UI元素的内部视图层次结构吗?这种层次结构不能保证在操作系统更新之间保持不变,像这样的更改在操作系统更新后破坏了其他应用程序(这就是为什么苹果强烈反对这种做法)。澄清:这是在应用程序安装了早期版本,然后手机升级到iOS4时发生的,还是在应用程序新安装到iOS4时发生的?我在我的一个应用程序中看到了类似的情况。你找到问题的根源了吗?是的,但问题是仪器/泄漏仍然没有报告任何异常情况。@duke4e-仅仅因为仪器没有立即显示问题并不意味着没有问题。此外,不要只在leaks工具中查找泄漏,检查以确保内存监视器中的总体内存使用率没有稳步增加,并查找其他奇怪的行为。这是一个完全有效的参数(第二个nil充当列表的哨兵),事实上,如果您不这样做,某个新编译器会抛出警告。