我正在构建iOS应用并尝试使用SoundCloud API。我注册了我的应用并创建了一个redirectURI:APP_NAME:// soundcloud。然后,在Xcode中,我添加了一个URL方案作为APP_NAME,URL标识符添加为com.BUNDLE_IDENTIFIER,并在我的AppDelegate中执行以下操作:
[SCSoundCloud setClientID:@"CLIENT_ID"
secret:@"SECRET"
redirectURL:[NSURL URLWithString:@"APP_NAME://soundcloud"]];
如果我在模拟器上启动应用,然后在Safari的地址栏中输入APP_NAME:// soundcloud,它会成功将我反弹回我的应用。但是,在应用程序中,我不断收到以下错误:
*** Assertion failure in +[SCRequest performMethod:onResource:usingParameters:withAccount:sendingProgressHandler:responseHandler:]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Resource '(null)' is invalid because the scheme is not 'https'.'
为什么资源'(null)'和计划' https'?我在哪里更改此更改以及如何解决此错误?
答案 0 :(得分:0)
该方法调用SCRequest
performMethod
方法并需要一个https链接,这意味着不支持深度链接到其他应用程序。
NSAssert1([[aResource scheme] isEqualToString:@"https"], @"Resource '%@' is invalid because the scheme is not 'https'.", aResource);
要解决此问题,请在您的应用程序中实现通用链接,如果该链接已安装在设备上,则会将https链接重定向到您的应用程序。