测试iPhone和模拟器iOS的区别iOS
问题描述:
我有一些问题测试iPhone和模拟器iOS的区别iOS
我正在写一个在模拟器中测试的应用程序。一切ok
测试决定在iPhone上。我去哪里检查的手机,但它实际上不是
- (BOOL) myChecker
{
/// ....
if .....
{
return YES
} else {
return NO
}
......
- (void) something {
BOOL myVar = [self myChecker];
if (myVar) {
// .....
} else {
//.....
}
}
一切都可以在模拟器myVar = NO; 和iPhone获得myVar = YES;
如何理解?
UPDATE(解决)
- (BOOL) myChecker
{
BOOL CheckSomething;
/// ....
if ....something {
CheckerSomething = YES
} else {
if .....
{
}
}
if (CheckerSomething)
{
return YES
} else {
return NO
}
在xcode的模拟器CheckerSomething
是开始= NO; 但在iPhone CheckerSomething = YES在内存中加载变量时
是错误
强行付诸NO是决定问题
对不起,我的英语
答
最好的猜测是有一些未初始化的变量,并获得不同的初始值。 ARC帮助解决这个问题,因为它默认将方法变量(自动)初始化为零(0)。
运行分析您的代码,并修复任何警告。
通过跟踪在Xcode调试的代码(这是在iPhone设备上的模拟器都可用),看看是什么语句发生语句。设置一些断点,如myChecker
和something
方法的顶部。
+0
我解决了我的问题并更新了我的帖子。所有的感谢 – user2037857 2013-02-24 13:40:55
如果我可以使用iPhone与调试器在Xcode我可以搜索错误,但在模拟器都可以,并能不明白的地方错误 – user2037857 2013-02-24 13:23:58
对不起,我不知道,有什么调试器中使用测试iphone!现在,我会尝试找出是什么问题 – user2037857 2013-02-24 13:27:15
通过在Objective-C的变量约定一开始就有一个小写字母和类名称以大写字母开头。这个例外是一个变量,首先是一个很好理解的首字母缩略词,比如HTML。将'CheckerSomething'更改为'checkerSomething'将使您的代码更具可读性并允许分析仪更好地检查代码。 – zaph 2013-02-24 13:48:09