繁体   English   中英

Quickblox + Swift 3.0 iOS SDK错误:找不到应用程序和QBConnectionZoneTypeProduction

[英]Quickblox + Swift 3.0 iOS SDK Error: No Application Found and QBConnectionZoneTypeProduction

我正在尝试创建一个基本的QBRequest并登录一个用户,或者至少返回一个该用户不存在的错误。 我在控制台中收到此错误。

NSErrorFailingURLKey=https://api.quickblox.com/session.json,
NSLocalizedRecoverySuggestion=
{"errors":{"base":["No application found"]}},
com.alamofire.serialization.response.error.data=<7b226572 726f7273 223a7b22 62617365 223a5b22 4e6f2061 70706c69 63617469 6f6e2066 6f756e64 225d7d7d>,
NSLocalizedDescription=Request failed: client error (422)

我已经检查了语法,并完成了所有步骤以正确包含SDK。 它继续说:“未找到应用程序”。 我检查了我的凭据,所有内容都正确输入了appDelegate。

尝试设置端点自定义项时,我也收到错误消息:Xcode一直告诉我:QBConnectionZoneTypeProduction ia使用了未解析的标识符。

的appdelegate:

     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
            FIRApp.configure()

            //Quickblox config
            QBSettings.setApplicationID(myAppIdInt)
            QBSettings.setAuthKey("myAuthKeyString")
            QBSettings.setAuthSecret("myAuthSecretString")
            QBSettings.setAccountKey("myAccountKeyString")
            QBSettings.apiEndpoint("https://api....quickblox.com", chatEndpoint: "chat....quickblox.com", forServiceZone: QBConnectionZoneTypeProduction)

            // Set settings for zone
QBSettings.setApiEndpoint("https://api...quickblox.com", chatEndpoint: "chat...quickblox.com", forServiceZone: QBConnectionZoneTypeProduction)
            // Activate zone
            QBSettings.serviceZone = QBConnectionZoneTypeProduction


            // iOS 10 support
            if #available(iOS 10, *) {
                UNUserNotificationCenter.current().requestAuthorization(options:[.badge, .alert, .sound]){ (granted, error) in }
                application.registerForRemoteNotifications()
            }
                // iOS 9 support
            else if #available(iOS 9, *) {
                UIApplication.shared.registerUserNotificationSettings(UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: nil))
                UIApplication.shared.registerForRemoteNotifications()
            }
                // iOS 8 support
            else if #available(iOS 8, *) {
                UIApplication.shared.registerUserNotificationSettings(UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: nil))
                UIApplication.shared.registerForRemoteNotifications()
            }
                // iOS 7 support
            else {  
                application.registerForRemoteNotifications(matching: [.badge, .sound, .alert])
            }

            return true
        }

正确的解决方案如下:

QBSettings.setApplicationID(myAppIdInt)
QBSettings.setAuthKey("myAuthKeyString")
QBSettings.setAuthSecret("myAuthSecretString")
QBSettings.setAccountKey("myAccountKeyString")

QBSettings.setApiEndpoint("https://api....quickblox.com", chatEndpoint: "chat....quickblox.com", forServiceZone: .production)

// Activate zone
QBSettings.serviceZone = .production

所以只要用。生产替代QBConnectionZoneTypeProduction这是因为Swift3介绍命名的变化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM