小编Sco*_*man的帖子

确定没有NSZombie的EXC_BAD_ACCESS的根本原因?

提前感谢您提供有关我所遇到的问题的任何帮助/见解.就在最近,我的iOS应用程序因可怕的EXC_BAD_ACCESS错误而开始失败.我对SO和Google进行了大量研究,并收到了一些很好的建议,但这些帖子都没有帮助我解决我的问题.到目前为止,我知道EXC_BAD_ACCESS可能是两件事之一:

1) A pointer is now pointing to memory that was deallocated.
2) A pointer itself is corrupt.
Run Code Online (Sandbox Code Playgroud)

我阅读并按照这里,这里,这里这里的说明进行操作.当我执行"构建并运行"时,我可以100%重现exc_bad_access.但是,当我在调试器或工具中启用NSZombie时,我永远无法重现该问题.此外,NSZombie不会在控制台中留下任何有用的信息.

我最接近确定问题的方法是在每一行代码之后放置一个NSLog,以便查看崩溃的位置.我相信它在两个截然不同的地方崩溃 - 这两个点都在返回一个单元格cellForRowAtIndexPath.下面我提供了两种方法,我认为事情正在崩溃,以及我的控制台上的错误输出.任何帮助或指导将不胜感激,谢谢!

违规方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0) {
    static NSString *CellIdentifier = @"EventDetailCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        cell.textLabel.textColor = [UIColor colorWithRed:150 green:143 blue:135 alpha:1.0];
        cell.textLabel.highlightedTextColor = [UIColor …
Run Code Online (Sandbox Code Playgroud)

crash debugging memory-management exc-bad-access ios

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

自定义UINavigationBar适用于模拟器,但不适用于已发布的版本

我希望能够深入了解一个过去几个小时我一直在努力解决的问题.我有一个application:DidFinishLaunchingWithOptions通过调用以下方法配置的自定义UINavigationBar :

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"NavBar"] forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

当我在XCode中运行我的应用程序时(无论是在模拟器中还是在插入计算机的实际设备上),这都很有效,并显示我的自定义背景.但是,当我在TestFlight上运行应用程序的发布版本时,会显示标准的浅蓝色导航栏.在setBackgroundImage没有运气的情况下搞乱放置方法之后,我开始相信它与"调试"与"发布"设置的差异有关,但我对这些设置导致此导航条问题的位置毫无头绪.

任何帮助或洞察这个问题(或我将如何调试它)将不胜感激.先感谢您!

xcode uinavigationbar uinavigationcontroller ios testflight

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