2015-06-02 17 views
7

Swift on iOS kullanıyorum.anonim kullanıcıyı parse.com kullanıcısına imzalı olarak dönüştürürken geçersiz oturum

Uygulamamın gönderileri listesi var. Anonim olarak okuyabilirsiniz, ancak kayıt olmak için kayıt olmanız gerekmektedir.

Uygulamayı açtığınızda anonim bir hesap alırsınız. Eğer sonrası gideceğim zaman var sen bu başarılı

let user = PFUser.currentUser() 
user?.username = displayNameTextField.text 
user?.password = passwordTextField.text 
user?.email = emailTextField.text 
user!.signUpInBackgroundWithBlock { ... } 

kaydolmak https://www.parse.com/docs/ios/guide#users-anonymous-users

: Ben kodu var AppDelegate

PFUser.enableAutomaticUser() 
PFUser.currentUser()?.incrementKey("RunCount") 
PFUser.currentUser()?.saveInBackground() 

yılında aşağıdakileri koydu. Kullanıcının sunucuda güncellenmesini görebiliyorum. Ancak bir 209 hatası alıyorum: [Hata]: geçersiz oturum belirteci (Kod: 209, Sürüm: 1.7.4)

Oturum adımına bakmayı ve her adımda yazdırmayı denedim ve aynı kalıyor. Bir kullanıcı oturumu kapattığında sessiontokens'in geçersiz kıldığını duymuştum ama sanırım bir kullanıcıyı yeni imzaladığımı ve not etmediğimi düşündüm. Oturum neden geçersiz?

Kullanıcıyı, oturum kullanıcısını kullanarak PFUser.Become() ile geçerli kullanıcı olarak ayarlamayı denedim, ancak bu da çalışmıyor.

Ben açıkça bir şeyle ilgileniyorum ama ne olduğunu anlayamıyorum. Herhangi bir yardım çok takdir ediyor.

cevap

11

aynı sorun benim için oluyor başladı ve bunu uygulama ayarlarından bu seçeneğin etkinleştirilmesi kaynaklandığını fark:

Revoke existing session tokens when user changes password - YES/NO 

bu isimsiz bir şifre atama istenmeyen yan etkisidir şüpheli user - Bu durumda oturum jetonunun sıfırlanması gerekecek herhangi bir sebep olduğunu düşünmüyorum.

Umarım bu sabit, ancak bir-etrafında çalışma kaydolma yöntem başarılı hemen sonra logInWithUsername yöntemini aramak.

+0

Teşekkür ederiz. Clever. Sorulabilir miyim? "Yeni Proje" veya "Mevcut Proje" yi seçin "Yeni Proje" size boş bir Xcode projesi sunuyor. "Mevcut Proje", varolan Xcode projenize Ayrıştırma Çerçevesinin nasıl ekleneceğine ilişkin bir kılavuz sunar. Var olan bir proje, ancak sorunu çözmek için sorunu yeniden oluşturmaya çalıştım ve "Yeni Proje" ile başladım ve bu hatayı yeniden üretemiyorum. –

+0

Şahsen her zaman kendi boş Xcode projem ile başlıyorum ve 'Mevcut Proje'yi kullanarak Parse ekle Bu herhangi bir i Sorunla ilgili mpact - hakkında konuştuğum ayar www.parse.com adresindeki uygulamanızın "Ayarlar/Genel" bölümünde. Sorunu boş başlangıç ​​projesinde yeniden ürettim ve Parse'ye bir hata olarak gönderdim. – antsyawn

0
Doğru giriş yürütme değil

, sadece an giriş kullanıcıyı göstermek bu

func login() { 
    var user = PFUser() 
    user.username = "myUsername" 
    user.password = "myPassword" 
    user.signUpInBackgroundWithBlock { 
    (succeeded: Bool, error: NSError?) -> Void in 
    if let error = error { 
     let errorString = error.userInfo?["error"] as? NSString 
     // Show the errorString somewhere and let the user try again. 
    } else { 
     // Hooray! Let them use the app now. 
    } 
    } 
} 

kodu let user = PFUser.currentUser() deneyin.

Ayrıca herhangi bir isteği oluşturmadan önce Parse ile kimlik doğrulaması gerekiyor, bunu yapmak için en iyi yer işlevi içinde appDelegate ID a için didFinishLaunchingWithOptions

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     Parse.setApplicationId("Your Id go Here", clientKey: "Your clientKey go here") 
    return true 
} 

değerindedir nd clientKey Parse olarak mevcuttur ve sizin için uygundur

Umarım size yardımcı olur, iyi şanslar!

+0

Teşekkürler ama bu bana aynı sonucu veriyor. Geçersiz oturum jetonları. –

+0

Yanıtı değiştirdiğimi düşündüğüm bir adım eksiksiniz – Icaro

+0

Teşekkür ederim ama zaten parse ile doğrulanmış durumdayım. Bunun bir hata olup olmadığını merak etmeye başlıyorum. Bir çok defa kullandıkça şüphe –

İlgili konular