left.optional == right.optional(AndroidとiOSの間での同期データ)をアサートに失敗しました。 AndroidアプリケーションはRealmからうまく読み込めますが、私のSwiftプログラムは苦労しています。エラーメッセージはあまり有益ではありません。私はそれが何を意味するのか全くわからレルム・オブジェクト・サーバは:私は私のiOSアプリケーションとAndroidアプリケーション間でデータを同期しようとしています
2016-11-08 08:53:43.919 iOSRealm[2629:65667] Sync: Connection[1]: Session[1]: Bad changeset received: Assertion failed: left().nullable == right().nullable
ているか、どのようにそれを修正する:
私は、このエラーメッセージを受信していないのです。 これは私がレルムオブジェクトサーバと自分自身を認証する方法である:
はprivate func synchronouslyLogInUser() throws {
SyncUser.authenticateWithCredential(Credential.usernamePassword(username, password: password, actions:.UseExistingAccount), authServerURL: authURL) { (user, error) in
print("sent login request")
if let user = user {
print("user was not nil")
self.setDefaultRealmConfiguration(user)
}
if let error = error where error.code == SyncError.HTTPStatusCodeError.rawValue && (error.userInfo["statusCode"] as? Int) == 400 {
print("invalid user and pass")
} else {
print(error)
}
}
}
private func setDefaultRealmConfiguration(user: SyncUser) {
Realm.Configuration.defaultConfiguration = Realm.Configuration(syncConfiguration: (user, realmURL), objectTypes: [Weather.self, Wind.self])
Realm.Configuration.defaultConfiguration.deleteRealmIfMigrationNeeded = true
realm = try! Realm()
}
私は、ログインが成功した知っているので、出力はコンソールに表示されている参照してください。 フラグをtrue
に設定しているため、データベースが一致していないと問題はないと思います。
このエラーメッセージは何を意味し、私はそれをどのように修正するのですか?
適切なObject Realm Serverのログは、http://pastebin.com/raw/J9mU4H0uにあります。オフサイトリンクの申し訳ありませんが、長いログファイルです。次のように
私スウィフトモデルは以下のとおりです。
class Weather : Object {
dynamic var id = 0
dynamic var date = ""
dynamic var forecast = ""
dynamic var humidity = ""
dynamic var wind: Wind!
override class func primaryKey() -> String? {
return "id"
}
}
class Wind: Object {
dynamic var direction = ""
dynamic var speed = ""
}
アンドロイドモデル:事前に
public class Weather extends RealmObject {
@PrimaryKey
public int id;
public String date;
public String forecast;
public String humidity;
public Wind wind;
}
public class Wind extends RealmObject {
public String direction;
public String speed;
}
ありがとう!
が素敵な発見します!私は、Realm Mobile Platformとの相互互換性についての社内の議論でこれを強調し、今後これをもっと明白にしようと考えています。共有ありがとう! :) – TiM