1

我正在关注 iOS 快速入门教程,并且我已经创建了登录 SoundCloud 的按钮,但我收到了这个错误:

2013-05-01 15:00:44.698 SoundCloudSample[60999:c07] +[SCSoundCloud shared]:无法识别的选择器发送到类 0x3a568 2013-05-01 15:00:44.701 SoundCloudSample[60999:c07] * 由于未捕获而终止应用程序exception 'NSInvalidArgumentException', reason: '+[SCSoundCloud shared]: unrecognized selector sent to class 0x3a568' * First throw call stack: (0x192a012 0x174fe7e 0x19b52ad 0x1919bbc 0x191994e 0x2ad0 0x17507cf 0x1757a0d 0x174eaeb 0x174ee22 0x17610e1 0x1763705 0x8c02c0 0x8c0258 0x981021 0x98157f 0x9806e8 0x8efcef 0x8eff02 0x8cdd4a 0x8bf698 0x1da7df9 0x1da7ad0 0x189fbf5 0x189f962 0x18d0bb6 0x18cff44 0x18cfe1b 0x1da67e3 0x1da6668 0x8bcffc 0x1f0d 0x1e35)libc++abi.dylib:终止调用抛出异常(lldb)

- (IBAction) login:(id)sender {

SCLoginViewControllerCompletionHandler handler = ^(NSError *error) {
    if (SC_CANCELED(error)) {
        NSLog(@"Canceled!");
    } else if (error) {
        NSLog(@"Error: %@ ", [error localizedDescription]);
    } else {
        NSLog(@"Done");
    }
};
[SCSoundCloud requestAccessWithPreparedAuthorizationURLHandler:^(NSURL *preparedURL){
    SCLoginViewController *loginViewController;
    loginViewController = [SCLoginViewController loginViewControllerWithPreparedURL:preparedURL completionHandler:handler];
    [self presentModalViewController:loginViewController animated:YES];
}];

}

自从我遵循教程以来,我不确定自己做错了什么。

我也对 client_id、secret 和重定向 URI 感到困惑。

这是代码:

- (void) initialize {
[SCSoundCloud setClientID:@"98e77c3e4da0cc49f2f8e58f278bb813" secret:@"b8311d06a82a8c824b64b8a719479cda" redirectURL:[NSURL URLWithString:@"http://soundcloud.com/connect?client_id=98e77c3e4da0cc49f2f8e58f278bb813&redirect_uri=evesdropmusic://oauth"]];
}

也许我忽略了一些东西......

4

1 回答 1

2

我找到了解决问题的方法!

显然我认为我在最新版本的 XCode 中发现了一个错误。

在“目标”部分下的“其他链接器标志”——构建设置中,我发现即使我输入了“-ObjC,-all_load”,XCode 还是决定不保存这些凭据。

解决方法是使用 (+) 输入标志 - 再次单击它们,然后如果它们消失,请再次输入。它应该节省这个时间。有时这不会发生。我不确定为什么我的条目没有保留。

一旦我再次添加这些,这解决了这个问题。

于 2013-05-02T13:24:53.923 回答