Closed pocheshire closed 7 years ago
Здравствуйте. url-схемы тоже прописали?
По идее нужно использовать метод initializeWithAppId, а не initialize
Конечно.
</array>
<key>CFBundleURLTypes</key>
<array>
<key>CFBundleURLSchemes</key>
<array>
<string>vk{App_ID}</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>vk</string>
<string>vk-share</string>
<string>vkauthorize</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
И в AppDelegate в OpenUrl вызываю соответствующий метод из SDK.
На 9+ версиях iOS все отрабатывало.
Он и используется. При сборке обёртки метод initializeWithAppId
мапится в Initialize(string appId)
Просто такая ошибка
VKSdk should be initialized.
может появится только если vkSdkInstance == nil
Собственно вот код
+ (instancetype)instance {
ZAssert(vkSdkInstance, @"VKSdk should be initialized. Use [VKSdk initialize:delegate] method");
return vkSdkInstance;
}
На iOS 10.0 все ок? Могу предположить, что проблема в Xamarin. Есть возможность проверить такой же кейс на objective-c?
В 10-ке поменялся принцип работы с CanOpenUrl. Теперь при вызове OpenUrl можно задать callback, а не вызывать сначала CanOpenUrl, проверять на успех и вызывать OpenUrl. Причём CanOpenUrl сейчас работает у нас не корректно – например, при попытке кинуть в карты, он говорит, что не может их открыть (хотя карты установлены), а через callback в OpenUrl все отрабатывает
Предположение, извините, отклоняется :-)
Проверял vkSdkInstance перед вызовом WakeUpSession. Был не nil. К тому же при установленном приложении Вк все отрабатывает отлично, не может же от установки приложения зависеть инициализациях instance при вызове одного и того же кода. Ну и перед выводом сообщения, что instance == nil пишется ещё одна строка. Про невозможность открыть URL
Колбэки для iOS 10 мы поддерживаем https://github.com/VKCOM/vk-ios-sdk/commit/1d472a0a7f759ef3dd6be1027fb734a7ee774f30
У вас последняя версия sdk?
Версию перепроверю
Да, к сожалению версия старая, хотя автор недавно выкатывал обновление. Текущая 1.3.16. Завтра проверю на новой версии и отпишусь о результатах. Ссылка на текущую версию, если интересно: https://github.com/mattleibow/vkontakte-bindings/tree/master/source Будет здорово, если сделаете официальную поддержку, хотя бы и через такую обертку
На версии 1.4.4 все заработало.
Сделал форк и обновил iOS версию SDK
Здравствуйте.
На устройствах с версией iOS 10.1 и 10.1.1 без установленного приложения VK не работает авторизация через VkSdk.
Output:
Читать умею, подобные Issues находил, поэтому сразу полез проверять UiDelegate. Однако следующий код вызывается и в дебаге видно, что все ок:
Это обертка над вашим SDK для Xamarin, там все 1 в 1 только можно использовать с Xamarin, поэтому код на C#, но, думаю, он понятен.
Баг наблюдается только на устройствах, на симуляторе отрабатывает SafariViewController.
ApiVersion – 5.40