Схемы 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:

ABMSoundCloudAPI на Github

Может быть, это может быть полезно для вас:)

Этот метод вызывает SCRequestperformMethod метод и требует ссылку https, что означает, что глубокая ссылка на другие приложения не поддерживается.

NSAssert1([[aResource scheme] isEqualToString:@"https"], @"Resource '%@' is invalid because the scheme is not 'https'.", aResource);

Чтобы обойти это, внедрите Universal Links в вашем приложении, которое перенаправит ссылку https на ваше приложение, если оно установлено на устройстве.

Другие вопросы по тегам