4

aslロギングフレームワークを使用してさまざまなエラーレベルをログに記録し、メソッドを使用してそれらを表示しています。私が持っているエラーは非常に奇妙です。すべてのレベルのログを表示するために使用する方法はiOS5で機能しますが、iOS6では警告レベルのログのみが返されます。

-(NSArray*) retrieveLogsWithLevel:(LoggingLevels)level_in forQueryOperation:(QueryOperations)queryOperation
{
[self.accessLock lock];

// subscribe for low memory notifications
[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(lowMemoryNotificationReceived:) 
                                             name:UIApplicationDidReceiveMemoryWarningNotification 
                                           object:nil];

// build the query
aslmsg aslQuery = asl_new(ASL_TYPE_QUERY);

const int setQueryStatus1 = asl_set_query(aslQuery, ASL_KEY_SENDER, [self usedByAppName], ASL_QUERY_OP_EQUAL);



if( (setQueryStatus1 != 0) /*|| (setQueryStatus2 != 0)*/ )
{
    return [NSArray array];
}


// convert enum to string representation
char buff[2];   
sprintf(buff, "%d", level_in);

asl_set_query(aslQuery, ASL_KEY_LEVEL, buff/*"4"*/,
              queryOperation | ASL_QUERY_OP_NUMERIC);

// execute query
aslresponse response = asl_search(NULL, aslQuery);

asl_free( aslQuery );

NSArray* results = [self extractResults:response];

// free the response
aslresponse_free(response); 

// unsubscribe from low memory notifications
[[NSNotificationCenter defaultCenter] removeObserver:self];

[self.accessLock unlock];

return results;
}

シミュレーターで同じコードを試しましたが、すべてのエントリが返されます。これが失敗するのは、iOS6で実行されているデバイス上のみです。

4

0 に答える 0