Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode 4和";SIGABRT“;错误?(但仅适用于iphone)_Ios_Xcode4 - Fatal编程技术网

Ios Xcode 4和";SIGABRT“;错误?(但仅适用于iphone)

Ios Xcode 4和";SIGABRT“;错误?(但仅适用于iphone),ios,xcode4,Ios,Xcode4,我不熟悉ios开发和stackoverflow。在发布之前,我尝试过搜索stackoverflow和google 我构建了一个简单的小应用程序,最初只是将其作为一个iphone专用的应用程序,但最终决定使其具有通用性。一、 愚蠢的是,当我开始了解xcode 4并将其切换到universal,然后再切换回来时,我正在胡闹,所以我不得不重新复制项目,然后再做一次。这一次,我用一个通用应用程序启动了它。(不是在我创建它的时候,而是在我进入project并在那里选择它之后)它创建了ipad文件夹和mai

我不熟悉ios开发和stackoverflow。在发布之前,我尝试过搜索stackoverflow和google

我构建了一个简单的小应用程序,最初只是将其作为一个iphone专用的应用程序,但最终决定使其具有通用性。一、 愚蠢的是,当我开始了解xcode 4并将其切换到universal,然后再切换回来时,我正在胡闹,所以我不得不重新复制项目,然后再做一次。这一次,我用一个通用应用程序启动了它。(不是在我创建它的时候,而是在我进入project并在那里选择它之后)它创建了ipad文件夹和mainwindow-ipad.xib文件,但当然是空的,因为我还没有做任何事情。我把它设置为一个基于标签的应用程序,所以我的iphone版本也有firstview和secondview nib文件,但ipad版本没有。我首先在iphone版本中设置了所有这些功能,效果很好。然后,我去放下了ipad版本(我确实删除了主窗口ipad上的第二个标签,因为我不需要它)

然后我创建了一个新的nib文件,并将其与“main ipad.h”和“main ipad.m”一起放在ipad文件夹中。我复制了我的代码并连接了所有东西,它在ipad模拟器上运行得很好,但现在当我尝试运行iphone模拟器时,我得到了“SIGABRT错误”。我拍了一张屏幕截图。我不完全理解objective-c,所以我希望有人能帮我?我可以发布任何代码或任何你可能需要帮助我解决这个错误的东西,所以尽管问吧

感谢您提供的任何帮助和建议

谢谢

[好的,我会发布图片,但我不能,因为我是一个新用户,相反,我发布了高亮显示的行和xcode的输出]

错误文件的代码:

int main(int argc, char *argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil); //ERROR IS ON THIS LINE <-----
    [pool release];
    return retVal;
}
iPhone FirstView nib文件.m代码:

//
//  FirstViewController.m
//  Price Assist
//
//  Created by Dustin Schreiber on 6/15/11.
//  Copyright 2011 TheTechSphere.com. All rights reserved.
//

#import "FirstViewController.h"


@implementation FirstViewController

/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
[super viewDidLoad];
}
*/

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}


- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc. that aren't in use.
}


- (void)viewDidUnload
{    
[percentoffinput release];
percentoffinput = nil;
[discountlabel release];
discountlabel = nil;
[finallabel release];
finallabel = nil;
[super viewDidUnload];

// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}


- (void)dealloc
{
[percentoffinput release];
[discountlabel release];
[finallabel release];
[super dealloc];
}


- (IBAction)calculate:(id)sender {
if ([centsinput.text length] == 0){
    centsinput.text = @"00";
}
if ([dollarinput.text length] == 0){
    dollarinput.text = @"00";
}
if ([percentoffinput.text length] == 0){
    percentoffinput.text = @"00";
}
double cDollars = [dollarinput.text doubleValue];
double cCents = [centsinput.text doubleValue];
double percentoff = [percentoffinput.text doubleValue] / 100;
NSString *ccDollars = [[NSNumber numberWithFloat:cDollars] stringValue];
NSString *ccCents = [[NSNumber numberWithFloat:cCents] stringValue];
NSString *placeholder = [NSString stringWithFormat:@"%@.%@", ccDollars, ccCents];
double combined = [placeholder doubleValue];
double discount = combined * percentoff;
NSString *discountholder2 =[NSString stringWithFormat:@"%.2f", discount];
discountlabel.text = discountholder2;
double newprice = (combined - discount);
NSString *str = [NSString stringWithFormat:@"%.2f", newprice];
finallabel.text = str;
dollarinput.text = ccDollars;
centsinput.text = ccCents;
percentoffinput.text = [[NSNumber numberWithFloat:percentoff] stringValue];
}

-(IBAction)backgroundTouched:(id)sender
{
[dollarinput resignFirstResponder];
[centsinput resignFirstResponder];
[percentoffinput resignFirstResponder];
}

- (IBAction)autonext:(id)sender {
if ([centsinput.text length ] >= 2) {
    if ([centsinput.text length] > 2) {
        centsinput.text = @"";
    } else {
        //next field
    }
}
}

@end
再次感谢!如果有人对我的代码有任何建议,我很乐意在这里发表!就像我说的,我是新手,这是我知道的唯一方法

------------>如果有人需要,我会上传整个项目文件夹。问问吧。谢谢你们的帮助。我是一个n00b,使用xcode,所以我还没有把它全部下载下来


在使用
finallabel
的地方发布一些代码,并尝试调试你的应用程序,以便在应用程序崩溃之前告诉我该行代码

选项2: 尝试在malloc\u error\u break中设置一个断点,以便我们可以了解有关错误的更多信息

在XCode中,转到Run->Show->BreakPoints(或仅使用cmd+option+B)。然后双击添加新符号(符号断点),键入
malloc\u error\u break
,然后按enter键

现在运行应用程序并粘贴控制台文本

如果需要帮助,请更新


检查InterfaceBuilder中的连接,可能是FianLabel错误。 还可以在InterbaseBuilder中检查iphone XIB中的自定义类->类


更新


转到产品->清理。然后运行。

问题在于
XIB
文件。此错误通常发生在
最终标签连接错误或不再存在时。请在
界面生成器中检查一次连接。

行UIApplicationMain(argc、argv、nil、NSStringFromClass([AppDelegate类]);仅表示在程序运行期间引发了异常。这可能是内存问题,也可能是简单的运行时错误。请查看目标调试器控制台;它将告诉您错误发生的位置

打开左上角的“iOS模拟器”菜单->重置内容和设置。然后退出iOS模拟器和Xcode,然后重新启动计算机。这将删除进程的其他实例


这可能行得通这对我来说是行得通的……。

我也有这个错误。花了这么多时间后,我发现了如何修复它。首先,去控制台看看错误在哪里(我的错误与故事板及其代码有关)我纠正错误的方法是进入故事板。在iPhone屏幕下方,会有一个黄色的小按钮。右键单击它,你会看到这是导致错误的原因。如果有黄色错误标志,请删除(x)

如果这不能修复您的错误,那么请尝试创建新项目,然后将其空白文件替换为旧项目的旧文件。我在一开始就遇到了相同的错误,并且通过执行此程序运行时没有任何错误

其他人建议重新启动笔记本电脑并再次运行,重置iOS模拟器或更改iOS调试器(但这在最新的x代码中不起作用,因为只有一个调试器)


希望这有助于

在您使用
finallabel
的地方发布一些代码,并尝试调试您的应用程序,以便您可以在应用程序崩溃之前告诉我该行内容。方法是在[NSException Rise]中添加断点和objc_exception_throw,您将获得有关崩溃原因的更多信息。更多详细信息:此处:谢谢!包含错误的文件的代码。我将再次对您请求的下一部分进行注释。我双击何处添加断点?我应该将其放在哪一行?您应该双击任何空行,什么版本的XCode ar你在使用吗?好的,我会的。谢谢你迄今为止的帮助。我要吃晚饭,然后回来试试。我应该在文件出错之前将断点放在文件中吗?你应该先在malloc_error_break中设置一个符号断点,然后运行应用程序,如果没有好的信息,你可以在崩溃和调试之前在某些部分设置断点循序渐进,直到你的应用程序崩溃的那一行。在这一行设置一个断点
-(iAction)calculate:(id)sender{
,然后运行你的应用程序并单击该按钮,然后进入(一步一步)告诉我哪一行是应用程序崩溃前的那一行好吧,我检查过了,它们没有连接我在两个地方发生过这种情况。它们现在是,但它仍然发生在相同的事情上。谢谢你的建议,如果没有它,我的应用程序无论如何都不会工作。任何连接上都有警告指示灯吗?好的
@interface FirstViewController : UIViewController {
    IBOutlet UITextField *dollarinput;
    IBOutlet UITextField *centsinput;
    IBOutlet UIButton *combinevalue;
    IBOutlet UITextField *percentoffinput;
    IBOutlet UILabel *discountlabel;
    IBOutlet UILabel *finallabel;
}  
- (IBAction)calculate:(id)sender;
- (IBAction)backgroundTouched:(id)sender;
- (IBAction)autonext:(id)sender;
//
//  FirstViewController.m
//  Price Assist
//
//  Created by Dustin Schreiber on 6/15/11.
//  Copyright 2011 TheTechSphere.com. All rights reserved.
//

#import "FirstViewController.h"


@implementation FirstViewController

/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
[super viewDidLoad];
}
*/

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}


- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc. that aren't in use.
}


- (void)viewDidUnload
{    
[percentoffinput release];
percentoffinput = nil;
[discountlabel release];
discountlabel = nil;
[finallabel release];
finallabel = nil;
[super viewDidUnload];

// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}


- (void)dealloc
{
[percentoffinput release];
[discountlabel release];
[finallabel release];
[super dealloc];
}


- (IBAction)calculate:(id)sender {
if ([centsinput.text length] == 0){
    centsinput.text = @"00";
}
if ([dollarinput.text length] == 0){
    dollarinput.text = @"00";
}
if ([percentoffinput.text length] == 0){
    percentoffinput.text = @"00";
}
double cDollars = [dollarinput.text doubleValue];
double cCents = [centsinput.text doubleValue];
double percentoff = [percentoffinput.text doubleValue] / 100;
NSString *ccDollars = [[NSNumber numberWithFloat:cDollars] stringValue];
NSString *ccCents = [[NSNumber numberWithFloat:cCents] stringValue];
NSString *placeholder = [NSString stringWithFormat:@"%@.%@", ccDollars, ccCents];
double combined = [placeholder doubleValue];
double discount = combined * percentoff;
NSString *discountholder2 =[NSString stringWithFormat:@"%.2f", discount];
discountlabel.text = discountholder2;
double newprice = (combined - discount);
NSString *str = [NSString stringWithFormat:@"%.2f", newprice];
finallabel.text = str;
dollarinput.text = ccDollars;
centsinput.text = ccCents;
percentoffinput.text = [[NSNumber numberWithFloat:percentoff] stringValue];
}

-(IBAction)backgroundTouched:(id)sender
{
[dollarinput resignFirstResponder];
[centsinput resignFirstResponder];
[percentoffinput resignFirstResponder];
}

- (IBAction)autonext:(id)sender {
if ([centsinput.text length ] >= 2) {
    if ([centsinput.text length] > 2) {
        centsinput.text = @"";
    } else {
        //next field
    }
}
}

@end