测试iPhone和iOS模拟器的区别

测试iPhone和iOS模拟器的区别,iphone,ios,cocoa,ios-simulator,Iphone,Ios,Cocoa,Ios Simulator,我有一些问题 我正在编写一个在模拟器中测试的应用程序。好的 测试决定在iPhone上进行。我在电话里查了一下,但事实上不是这样 - (BOOL) myChecker { /// .... if ..... { return YES } else { return NO } ...... - (void) something { BOOL myVar = [self myChecker]; if (myVar) { // ..... } else { //..... } } 在模拟器中一切

我有一些问题

我正在编写一个在模拟器中测试的应用程序。好的

测试决定在iPhone上进行。我在电话里查了一下,但事实上不是这样

- (BOOL) myChecker
{
/// ....

if .....
{
return YES
} else {
return NO
}

......
- (void) something {

BOOL myVar = [self myChecker];
if (myVar) {
// .....
} else {
//.....
}
}
在模拟器中一切正常myVar=NO; 而iphone的myVar=YES

如何理解

更新(已解决)

在xcode模拟器中,CheckerSomething是begin=NO; 但在iPhone中,在内存中加载变量时,CheckerSomething=YES

这是错误的

强行否定是一个决定问题


对不起,我的英语是

最好的猜测是,有一些变量没有初始化,得到的初始值不同。ARC对此很有帮助,因为默认情况下它将方法变量(自动)初始化为nil(0)

对代码运行分析并修复所有警告


跟踪Xcode调试器中的代码(它在iPhone设备上的模拟器中都可用),逐个语句查看发生了什么。设置一些断点,例如在
myChecker
something
方法的顶部。

如果我可以在Xcode中使用带调试器的iPhone,我可以搜索错误,但在模拟器中一切正常,无法理解错误的位置抱歉,我不知道,在测试的iPhone中调试器使用了什么!现在,我将尝试通过Objective-C变量中的约定来确定问题所在,变量以小写字母开头,类名以大写字母开头。例外情况是一个变量,它以一个众所周知的首字母缩略词(如HTML)开头。将
CheckerSomething
更改为
CheckerSomething
将使代码更具可读性,并允许分析器更好地检查代码。
   - (BOOL) myChecker
    {
      BOOL CheckSomething;

    /// ....
      if ....something {
         CheckerSomething = YES
        } else {
 if .....
{
}
}

    if (CheckerSomething)
    {
    return YES
    } else {
    return NO
    }