ios - 获取地址簿权限会使应用程序 iOS 崩溃

标签 ios uiviewcontroller viewdidload

我正在 Xcode 5.1.1 上开发一个 iOS 7.1 应用程序(目前无法升级),带有 ARC 但没有 StoryBoard,当我在 viewDidLoad 方法中调用一个空方法时,应用程序崩溃我的自定义方法结束。目前,我认为它要么是我的旧版本 Xcode,要么是我没有使用 StoryBoard,但我已经尽可能地简化了代码,但仍然找不到错误。如果有人能指出我做错了什么,那就太好了,谢谢!

崩溃只是说线程 1:断点 1.1,当 [self.window makeKeyAndVisible] 调用 [viewController viewDidLoad] 时崩溃。

ViewController.h

@interface XYZContactsTableViewController : UITableViewController

@end

ViewController.m:

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {

    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self getAddressBook];
}

- (void)getAddressBook {

} // App crashes at line point exactly

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    XYZContactsTableViewController *viewController = [[XYZContactsTableViewController alloc] init];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.rootViewController = navigationController;
    [self.window makeKeyAndVisible];
    return YES;
}

编辑: 此外,在 viewDidLoad 方法中调用纯 C 函数是有效的,因此问题与 viewController 对象有关。

最佳答案

The crash just says Thread 1: breakpoint 1.1

啊哈。你根本没有崩溃。您只是在断点处暂停。如果您不想暂停,或者如果断点让您感到困惑,请将断点移开或关闭断点。断点很棒,但您显然不理解它们,所以暂时关闭它们(但最终一定要学会使用它们,因为它们非常酷!)。

关于ios - 获取地址簿权限会使应用程序 iOS 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27241614/

相关文章:

ios - 您可以同时激活多个 Segue 吗?

swift - 无法在 2 个 View Controller 之间传递 UIImage(没有 Storyboard)

ios - 什么是 UIViewController 中的扩展边缘属性?

swift - Swift 中 Unresolved 标识符错误?

ios - TabviewController如何显示未读消息(如角标(Badge))?

iOS 9 和 XCode 7 dylib 问题

ios - iOS 8 上弹出窗口中的 UIDatePicker 问题

ios - 将用户指针列保存到数组 parse swift

swift - swift 中 awakeFromNib() 和 viewDidLoad() 之间的区别

ios - 完成处理程序在 viewDidLoad 中不起作用?