2017-05-03 66 views
2

我想創建一個基本的QBRequest並登錄一個用戶,或者至少得到一個用戶不存在的錯誤。我在控制檯中收到此錯誤。Quickblox + Swift 3.0 iOS SDK錯誤:找不到應用程序和QBConnectionZoneTypeProduction

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 1A中使用未解決的標識符..

的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 
     } 

回答

3

一個合適的解決方案將以下內容:

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引入了命名更改。

相關問題