Схемы URL в plist для использования OAuth2
Я создаю приложение для iOS и пытаюсь использовать API SoundCloud. Я зарегистрировал свое приложение и создал 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"]];
Если я запускаю приложение на симуляторе, а затем набираю APP_NAME: // soundcloud в адресной строке Safari, оно успешно возвращает меня обратно в мое приложение. Тем не менее, в приложении я постоянно получаю следующие ошибки:
*** 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'.'
Почему ресурс "(ноль)" и схема "https"? Где я могу изменить это и как я могу исправить эту ошибку?
1 ответ
Я уже некоторое время использую библиотеку SoundCloud в своем проекте. Из-за того, что он не очень современный, у него есть некоторые недостатки и ошибки. Итак, в конце концов я решил создать свою собственную библиотеку и опубликовать ее на Github:
Может быть, это может быть полезно для вас:)
Этот метод вызывает SCRequest
performMethod
метод и требует ссылку https, что означает, что глубокая ссылка на другие приложения не поддерживается.
NSAssert1([[aResource scheme] isEqualToString:@"https"], @"Resource '%@' is invalid because the scheme is not 'https'.", aResource);
Чтобы обойти это, внедрите Universal Links в вашем приложении, которое перенаправит ссылку https на ваше приложение, если оно установлено на устройстве.