小编Axe*_*xel的帖子

检测iOS应用程序是否在调试器中运行

我将应用程序设置为将调试输出发送到控制台或日志文件.现在,我想在代码中决定是否

  • 它在调试器(或模拟器)中运行,因此有一个控制台窗口,我想直接读取输出或如果
  • 没有控制台窗口,因此输出应重定向到文件.

有没有办法确定应用程序是否在调试器中运行?

iphone debugging objective-c ios

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

horizo​​ntalAccuracy究竟意味着什么?

我正在使用位置服务开发iOS应用程序.拥有实验物理学的背景,我想知道究竟horizontalAccuracylocation找到 什么locationManager:didUpdateToLocation:fromLocation:.文档有点稀疏......

我假设精度给出了基于高斯(或泊松?)分布的置信区间.因此,在一定概率下,实际位置在半径为的圆内horizontalAccuracy,但也可以在该区域之外.那么问题是:这个概率有多大?如果horizontalAccuracy对应于1σ,我有68%的概率在该圆圈内horizontalAccuracy,但相反地看,在近三分之一的情况下,实际位置将在该区域之外.因此,在某些情况下,我宁愿使用2σ(2*horizontalAccuracy)甚至3σ(3*horizontalAccuracy)来计算.

简而言之:某处是否有任何迹象,哪个置信区间horizontalAccuracy有?

评论所有回答"Apple说它在其中"的人:嗯 - 测量结果不准确.它必须具有一定程度的不确定性.如果您经常重复测量,您将获得结果分布 - 可能是高斯分布.该高斯具有一定的宽度,其对应于测量的不确定性水平.更频繁地测量位置将减少不确定性并因此提高准确度,但永远不会给出明确的间隔,其中保证实际位置.您将只获得概率.但如果准确度是3sigma,我们有99.7% - 这是接近确定的.简而言之 - 我怀疑Apple的文档.

objective-c cllocationmanager cllocation ios

14
推荐指数
1
解决办法
4917
查看次数

位置服务指标保持"开启"

我有一个小应用程序,它使用iPhone上的位置服务.一切都运作良好,除了事实,有时,即使我明确杀死应用程序,信息栏中的小箭头仍保持活动状态.我使用的背景模式locationservices,因此的appDelegate方法applicationWillResignActive,applicationDidEnterBackground,applicationWillEnterForegroundapplicationDidBecomeActive正在实现,但不要触摸位置的服务(以及-我需要他们在后台模式下).

在那个配置applicationWillTerminate永远不会被调用; 我实现所有的清理清理的stopUpdatingLocationdealloc,我没有找到适合这个任何其他地方.但仍然 - 指标仍然存在.

有任何想法吗?

iphone dealloc cllocationmanager ios4

8
推荐指数
2
解决办法
3554
查看次数

在Objective C中声明和使用C函数

这一定非常简单,但我无法弄清楚如何做到这一点:我有一个C函数来监控当前的内存使用情况:

natural_t report_memory(void) {
    struct task_basic_info info;
    mach_msg_type_number_t size = sizeof(info);
    kern_return_t kerr = task_info(mach_task_self(),
                               TASK_BASIC_INFO,
                               (task_info_t)&info,
                               &size);
    if( kerr == KERN_SUCCESS ) {
        return info.resident_size;
    } else {
        NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
        return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想用它.我如何在.h中声明它?我在目标c方法中尝试了(对我而言):

natural_t report_memory(void);
Run Code Online (Sandbox Code Playgroud)

在代码中的某个地方调用它:

NSLog(@"Memory used: %u", rvC.report_memory());
Run Code Online (Sandbox Code Playgroud)

编译器抱怨error: called object is not a function.因此,我认为,声明在某种程度上是错误的.我尝试了几个选项,但我能得到的最好的是运行时错误......如何解决这个问题?

c objective-c

3
推荐指数
1
解决办法
2301
查看次数

访问UITableView的"默认"方法

我尝试设置一个tableView.我在所有部分的行中使用标准单元格,除了最后一部分(包含一行).因此,除了特殊的部分之外,我还想对所有这些部分使用标准布局.

下面是一个简短的例子,我的"特殊"单元格在第3节(只有一行):

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    if (section == 3)
        return 5;
    return **????**;
}
Run Code Online (Sandbox Code Playgroud)

??? 我想返回从UITableView计算的宽度(就像我没有实现该方法).

[super self:tableView heightForHeaderInSection:(NSInteger)section];

不起作用.我知道我可以访问

[tableView setionHeaderHeight]
Run Code Online (Sandbox Code Playgroud)

这默认为10,显然没有考虑到我有其他部分的章节标题,这将需要额外的空间.我试过了,但它会让这些部分过于接近(见截图):

(注意:我感兴趣的部分是一个看起来不像单元格的部分:带有日期的部分(不可见的背景)). 替代文字

因此,最简单的方法是将布局移交给完美的标准实现 - 除了section3.

我有什么选择?

iphone uitableview ios

2
推荐指数
1
解决办法
1402
查看次数