相关疑难解决方法(0)

如何在Xcode中启用NSZombie?

我有一个崩溃的应用程序没有错误跟踪.如果我调试,我可以看到正在发生的一部分,但无法弄清楚哪个对象是"僵尸".

有谁知道如何在Xcode 4中启用NSZombie?

xcode nszombie

299
推荐指数
9
解决办法
16万
查看次数

iOS启动后台线程

我的iOS设备上有一个小的sqlitedb.当用户按下按钮时,我从sqlite获取数据并将其显示给用户.

这个抓取部分我想在后台线程中执行它(不阻止UI主线程).我是这样做的 -

[self performSelectorInBackground:@selector(getResultSetFromDB:) withObject:docids];

在获取和稍微处理之后,我需要更新UI.但是因为(作为一种好的做法)我们不应该从后台线程执行UI更新.我这样打电话给selector主线程 -

[self performSelectorOnMainThread:@selector(showResults) withObject:nil waitUntilDone:NO];

但我的应用程序在第一步崩溃了.即启动后台线程.这不是在iOS中启动后台线程的方法吗?

更新1:之后[self performSelectorInBackground....我得到这个堆栈跟踪,没有资料什么那么-

在此输入图像描述

更新2:我甚至试过,开始这样的后台线程 - [NSThread detachNewThreadSelector:@selector(getResultSetFromDB:) toTarget:self withObject:docids];但我仍然得到相同的堆栈跟踪.

就这样我澄清一下,当我在主线程上执行此操作时,一切运行顺畅......

更新3这是我尝试从后台运行的方法

- (void)getResultSetFromDB:(NSMutableArray *)toProceessDocids
{
    SpotMain *mirror = [[SpotMain alloc] init];
    NSMutableArray *filteredDocids = toProceessDocids;

    if(![gMediaBucket isEqualToString:@""])
        filteredDocids = [mirror FetchDocIdsForMediaBucketWithDocID:filteredDocids mBucket:gMediaBucket numRes:-1];
    if(![gMediaType isEqualToString:@""])
        filteredDocids = [mirror FetchDocIdsForMediaType:filteredDocids mediaType:gMediaType numRes:-1];
    if(![gPlatform isEqualToString:@""])
        filteredDocids = [mirror FetchDocIdsForPlatformID:filteredDocids platformId:@"1" numRes:-1];

    self.resultSet = [mirror FetchObjectFromDocid:filteredDocids];
    [filteredDocids release];
    [mirror release];

    [self performSelectorOnMainThread:@selector(showResults) withObject:nil …
Run Code Online (Sandbox Code Playgroud)

multithreading objective-c core-foundation uikit ios

117
推荐指数
2
解决办法
17万
查看次数

警告:尝试使用不在框架中的块创建USE_BLOCK_IN_FRAME变量

这是什么意思?尝试迭代Cocoa obj-c中的文件时出现此错误.

我在网上找不到任何信息.

会感激一些帮助.谢谢.

编辑

我一直在关注本教程(链接)以预加载核心数据.我尝试过创建一个Cococa应用程序,并尝试在我的iPhone应用程序中执行此操作.我认为Core Data的所有设置代码都很好.每当调用此方法时,我都会获得EXEC BAD ACCESS.

- (void)loadInitialData
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    // name ZSTREET_1   ZSTREET_2   ZCITY   ZZIP    ZURL    ZTEL    latitude    longitude

    NSString *path = [[NSBundle mainBundle] pathForResource:@"placesdata" ofType:@"txt"];

    NSString *fileString = [NSString stringWithContentsOfFile:path]; // reads file into memory as an NSString
    NSArray *lines = [fileString componentsSeparatedByString:@"\r"]; // each line, adjust character for line endings
    NSManagedObjectContext *context = [self managedObjectContext];
    for (NSString *line in lines)

    {   
        NSLog(line);

        NSString* string = [[NSString alloc] …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c

21
推荐指数
2
解决办法
2万
查看次数

NSInvocation返回值但使EXC_BAD_ACCESS崩溃

我有一个数组,我正在迭代并寻找一个特定的标志.如果标志值为nil,我正在调用一个生成调用对象并返回调用结果的方法.

我的代码结构如下

for(NSString *key in [taxiPlanes allKeys])
{
        Plane *currentPlane = [taxiPlanes objectForKey:key];

        if(currentPlane.currentAction == nil)
        {
            NSString *selector = [[currentPlane planeTakeoffSequence] firstObject];
            currentPlane.currentAction = selector;

            // Calling for NSInvocation in [self ...]
            NSArray *action = [NSArray arrayWithArray:[self operationFromTakeoffAction:currentPlane.currentAction AtPoint:currentPlane.position]];

        NSLog(@"%@",action);
        }
 }
Run Code Online (Sandbox Code Playgroud)

生成NSInvocation的方法

-(NSArray *) operationFromTakeoffAction:(NSString *) action AtPoint:(CGPoint) flightPoint
{
    NSMethodSignature *methodSignature = [FlightOperations instanceMethodSignatureForSelector:NSSelectorFromString(action)];
    NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:methodSignature];

    [invocation setTarget:fOps];
    [invocation setSelector:NSSelectorFromString(action)];
    [invocation setArgument:&flightPoint atIndex:2];

    NSArray *resultSet = [NSArray alloc]init];
    [invocation invoke];
    [invocation getReturnValue:&resultSet];

    return resultSet; …
Run Code Online (Sandbox Code Playgroud)

objective-c nsinvocation ios

21
推荐指数
1
解决办法
7315
查看次数

崩溃:com.apple.root.default-overcommit-priority - EXC_BAD_ACCESS KERN_INVALID_ADDRESS位于0x00000008

我的iPhone 4上的测试人员经常收到这个错误 - iPhone 5s,iPad Air,iPad mini没有崩溃,甚至iPhone 3GS都没有.

我认为它与内存有关,但根据仪器我在此操作期间只需要高达14MB,而Crashlytics显示可用内存为120 MB - 所以我想这不是问题,对吧?

还有什么可能是造成这次事故的原因?它在使用FTPManager(https://github.com/nkreipke/FTPManager)下载文件时发生.

3 ... FTPManager.m line 370
    -[FTPManager _downloadFile:toDirectory:fromServer:]

24 ... FTPManager.m line 475
     -[FTPManager downloadFile:toDirectory:fromServer:]
Run Code Online (Sandbox Code Playgroud)

crash ios7.1

19
推荐指数
1
解决办法
847
查看次数

Xcode调试没有显示值

我完全难过了.我已经调试了一年多,并且在Build Configuration设置为Release时只遇到了这个问题.我已将Build Configuration设置为Debug,并且我已经检查以确保我附加到正确的进程,但在单步执行代码时仍然看不到值.还有其他人遇到过这个问题吗?

这是一个屏幕截图:

在此输入图像描述

值正在返回,但我无法在此方法或任何其他方法中看到ANYTHING的值,我无法弄清楚原因.

感谢您提供给我的任何提示.

==============================更新=================== ===============

我试图打印出有价值的,这是我收到的输出:

在此输入图像描述

但请注意,即使我无法将其打印出来,Variables视图中的值对于结果也是正确的.但其他值,如filePath不应该是nil.

这太奇怪了.

==============================更新=================== ===============

我把断点放在return语句上但仍然没有运气:

在此输入图像描述

这次我看不到结果的价值:

在此输入图像描述

xcode objective-c

10
推荐指数
2
解决办法
9475
查看次数

如何使用XCode 4在iPhone可执行文件中设置环境变量?

自从切换到XCode 4以来,我一直在寻找如何在iPhone可执行文件中设置环境变量(例如NSZombies)的问题.在XCode 3中,您可以右键单击.app文件,选择"获取信息"并设置环境变量.但是在XCode 4中似乎不可能这样做.新UI中的位置是什么?

xcode environment-variables nszombie xcode4 nszombieenabled

7
推荐指数
1
解决办法
1万
查看次数

使用ios6无法识别的选择器中的facebook登录并发送到实例"

当我使用Facebook登录时,我收到以下错误

是的,这是一个基本的错误"无法识别的选择器发送到实例"但我没有得到错误的地方

[UIStatusBar orientation]: unrecognized selector sent to instance 0xa9a9c00
2012-11-23 11:15:46.854 Tattoo Later[1265:1cd03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIStatusBar orientation]: unrecognized selector sent to instance 0xa9a9c00'
Run Code Online (Sandbox Code Playgroud)

在这个方法中

- (void)loginToFacebook:(id) loginDelegate
{
fbServiceRequestingobj = loginDelegate;
 NSArray* permissions = [[NSArray alloc] initWithObjects:
                            @"publish_stream",@"user_birthday",@"read_stream",@"user_about_me",@"offline_access",@"email",@"read_mailbox",@"user_about_me",nil];
 [facebook authorize:permissions delegate:self];
}
Run Code Online (Sandbox Code Playgroud)

应用程序崩溃在这一行 [facebook authorize:permissions delegate:self];

在我的项目中,我整合了"GPUImage",我正在研究ios6

提前致谢

iphone objective-c ipad ios

6
推荐指数
1
解决办法
378
查看次数

iOS:com.apple.root.default-overcommit-priority

我收到Crashlytics的崩溃:

Crashed: com.apple.root.default-overcommit-priority
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x8b2b0353

Thread : Crashed: com.apple.root.default-overcommit-priority
0  myApplication                  0x0028f0c4 Parse
1  ???                            0xffffffc9 
2  myApplic                       0x00291073 ukeylist_get_scan
3  libsystem_pthread.dylib        0x3aac9c5d _pthread_body + 140
4  libsystem_pthread.dylib        0x3aac9bcf _pthread_start + 102
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. com.apple.root.default-overcommit-priority手段?(也许记忆?)
  2. 为什么第二行是???
  3. 如何解决这个问题?

感谢您抽出宝贵时间来帮我解决这个问题.

ios

6
推荐指数
1
解决办法
953
查看次数

numberOfSections被调用?iOS版

跳过所有这些信息并跳到底部的更新...

我之前已经处理过无法识别的选择器,但我无法弄清楚这次发生了什么.调用堆栈是不透明的,我无法找出问题的起源.我尝试过使用符号和异常断点.这段代码之前工作得很完美.我再回来研究这个程序了,现在我正在尝试这个

[UITableViewSectionElement numberOfSections]: unrecognized selector sent to instance 0xa285d50
Run Code Online (Sandbox Code Playgroud)

UITableViews在这个视图控制器中有两个.其中一个被连接起来IB(datasource and delegate).第二个在代码中实例化,其数据源/委托也指向视图控制器.我在第二个tableview上放了一个2的标记,以区分它们.UITableViewTwo添加到a UIView,如果我有要显示的有效数据,它将作为第一个tableview的页脚返回.再一次,这段代码完美地工作,一段时间没有任何崩溃,我似乎无法弄清楚为什么它现在崩溃.我正在使用ARC.

这是一些代码:

当我检查发送选择器的对象的地址是什么时:它确实是一个UITableViewSectionElement.为什么H接收到呼叫号码部分?不应该是numberOfSectionsInTableView吗?

UITableView Delegate/DataSource methods

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView.tag == 0) {
        if (indexPath.row == 0) {
            PCFCustomNumberReviewsCell *cell = [self.tableViewOne dequeueReusableCellWithIdentifier:@"PCFNumberOfRatings"];
            [cell.numberOfReviews setText:[NSString stringWithFormat:@"%d", numReviews.integerValue]];
            [cell.numberOfReviews setFont:[PCFFontFactory droidSansFontWithSize:17]];
            [cell.numberOfReviews setTextColor:[UIColor lightGrayColor]];
            UIImageView *imgView = [[UIImageView alloc] initWithFrame:cell.frame];
            [imgView setImage:[UIImage imageNamed:@"1slot2.png"]];
            [cell setBackgroundView:imgView];
            return cell;
        }else if(indexPath.row == 1) {
            PCFCustomReviewCell …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios unrecognized-selector

5
推荐指数
1
解决办法
1207
查看次数