2017-05-03 5 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에 올바르게 입력되었습니다. 엑스 코드는 그 날을 말하는 유지 : 나는 또한 엔드 포인트 사용자 정의 설정하는 동안 오류 수신하고

QBConnectionZoneTypeProduction가 해결되지 않은 식별자의 사용 아이오와을 ..

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에서 도입 된 이름 변경 사항 때문입니다.