2017-12-18 1 views
0

Realm 객체 서버를 사용하여 스마트 폰간에 데이터를 공유하려고했으며이 코드를 Swift로 만들었습니다. (나는 영역을 사용하여 -> 3.0.2 ROS -> 최신)Swift의 Realm 객체 서버에서 데이터를 가져올 수 없습니다.

let realmAuthURL = URL(string:"http://[server_address]:9080")! 
let realmURL = URL(string:"realm://[server_address]:9080/~/realm")! 
let credentials = SyncCredentials.usernamePassword(username: "[username]", password: "[password]") 

SyncUser.logIn(with: credentials, server: realmAuthURL) { user, error in 
    DispatchQueue.main.async { 
     if let user = user { 
      Realm.Configuration.defaultConfiguration = Realm.Configuration(
       syncConfiguration: SyncConfiguration(user: user, realmURL: realmURL), 
       objectTypes: [PCData.self] 
      ) 
      print("ログインに成功しました") 
      self.realm = try! Realm(configuration: Realm.Configuration.defaultConfiguration) 
      //print(self.realm.objects(PCData.self)) 

      if self.realm.isEmpty { 
       try! self.realm.write { 
        let data = PCData() 
        data.isOut = false 
        data.pcCode = "***METADATA***" 
        data.rentPCto = "" 
        data.IDinCourse = 999999999999 
        data.belonging = "Master" 

        self.realm.add(data) 
       } 
      } 
     } 


    } 
} 

나는 그것을 시도 할 때, "ロ グ イ ン に 成功 し ま し た"출력, 그리고 서버는 듯 로그

를 액세스 한한다 그러나

2017-12-17 22:53:30.880875+0900 PCManage[7021:1784833] Sync: Connection[1]: Connection closed due to error 
2017-12-17 22:53:31.673562+0900 PCManage[7021:1784833] Sync: Connection[1]: Connected to endpoint '[Server's IP]:9080' (from '[My IP]:57032') 
2017-12-17 22:53:31.684189+0900 PCManage[7021:1784833] Sync: Connection[1]: Writing failed: End of input  

는 서버에서 데이터 등 를 얻을 수 없습니다.

proxy: attempting to upgrade client [My IP]:57032 => headers: {"authorization":"Realm-Access-Token version=1 token=\"eyJhY2Nlc3MiOlsiZG93bmxvYWQiLCJ1cGxvYWQiLCJtYW5hZ2UiXSwiYXBwX2lkIjoiY29tLmFrYmFydC5hcHAuUVJ0ZXN0IiwiZXhwaXJlcyI6MTUxMzUxOTQwOCwiaWQiOiIwMzdmY2I5Yzc0MGE0ZjdhOGVhOTZkZmFhYjUxNmM2ZiIsImlkZW50aXR5IjoiZmI0NmQ1ZjNjYjRiNmE5NWExYWYyNDkzZGIxNjE5YzYiLCJwYXRoIjoiL2ZiNDZkNWYzY2I0YjZhOTVhMWFmMjQ5M2RiMTYxOWM2L3JlYWxtIn0=:Tn4Qa4vzvZ87lnW2htmt6rPCaLL5ASDkpqbcXT2eKskQ3NHJ3ePyMxvJjjyAq5rh8pb2syCM1Dh8LrVk9RilQsHwHRU9HyDOky/psePE4UfXidEJGYoML19R9mo+yjHPG7DeP0ykYltTjONJh+OpQkaelHYIMlKAwFP+hxeNWlVAIpjohkqmyr/de3++8IxcVV6/6wJUESdNpDq2e5GGKfxpSwbfhBagNi0m0aSNuwzoqJ5CFqbyoxsyyCZWx6XJ7ZueTmRvGx22SJcthRzxrQRrWMbMtF8yEHY/AARzycO/A/Zi5spXqAzQD6QIrkl5gGI/FwvnLvhvtPEFychXIg==\"","connection":"Upgrade","host":"[]","sec-websocket-key":"K0Tw7zhY3ov9h+VEqHtaPQ==","sec-websocket-protocol":"io.realm.sync.22","sec-websocket-version":"13","upgrade":"websocket"}.} 
sync: HTTP Connection[959]: Connection from 127.0.0.1:35414 
sync: HTTP Connection[959]: Connection initiates HTTP receipt 
sync: HTTP Connection[959]: HTTP request received, url = /realm-sync/%2Ffb46d5f3cb4b6a95a1af2493db1619c6%2Frealm 
sync: HTTP Connection[959]: 404 Not Found 
sync: HTTP Connection[959]: Connection is closed after HTTP response. 

404하지 샘 내가 서버 측 지금 이상이라고 생각하지만, 나는 초기 설정에서 변경되지 않은, 그래서 가 어떻게 데이터를 얻을 수 있습니다 잘못이다 모르겠어요 을 표시?

+0

소프트웨어 버전을 제공 할 때 사용중인 정확한 버전을 지정하십시오. "최신"일반적으로 오해의 소지가 있으며, 종종 최신 버전이 사용되고 있지 않음을 나타냅니다. – bdash

답변

0

공유 한 로그 메시지는 사용자가 Realm Object Server v1.x를 사용하고 있음을 나타냅니다. Realm Swift 3.x에는 Realm Object Server v2.x가 필요합니다. ROS v2.x 설치에 대한 지침은 Realm Object Server documentation을 참조하십시오.

관련 문제