में संग्रहीत एपीएनएस टोकन टक्कर, मैं पुश नोटिफिकेशन और स्टोर डिवाइस टोकन का उपयोग करता हूं जैसे कि मुझे लगता है कि हर कोई करता है। सबसे पहले मैं उन्हें एक स्ट्रिंग में मेरे ऐप को बदलने:पोस्टग्रेस
Device.where(:token => device_token, :username => username).first_or_create!(:model => model)
मैं है एक मान्यता है कि कोई दो टोकन सुनिश्चित करता है:
NSString *deviceTokenString = [[[token description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]
stringByReplacingOccurrencesOfString:@" " withString:@""];
तो मैं उन्हें अपने सर्वर है, जहां एक character varying(255)
कॉलम में ActiveRecord भंडार उन्हें डाल , मैं सत्यापन को देखने के लिए शुरू कर दिया है
class Device < ActiveRecord::Base
belongs_to :user
validates_uniqueness_of :token
end
हालांकि: एक ही, जो मुझे समझ में हमेशा ऐसा होना चाहिए रहे हैं टोकन विशिष्टता के लिए त्रुटियों:
ActiveRecord::RecordInvalid: Validation failed: Token has already been taken
psql में मैनुअल क्वेरी पुष्टि की है कि एक डिवाइस किसी दूसरे उपयोगकर्ता के तहत तालिका में एक टोकन पहले से ही के साथ रजिस्टर करने की कोशिश कर रहा है। क्या यह असंभव नहीं माना जाता है? क्या मैं जिस तरह से टकनों को छोटा कर रहा हूं उसे बदल रहा हूं? मैंने प्रत्येक कोड उदाहरण की जांच की, जब समस्या पहली बार हुई थी और हर कोई उस विधि का उपयोग करता है जिसे मैंने पहले कोड नमूने में सूचीबद्ध किया है।
एक एप्लिकेशन बग होने की अधिक संभावना है जहां कुछ साझा राज्य ठीक से साफ़ नहीं किया जाता है। लेकिन यह शायद ही असंभव प्रतीत होता है कि एपीएनएस के पास क्विर्क या अनिर्दिष्ट व्यवहार हो सकते हैं जैसे " समय अवधि के बाद चक्र"। मैं कच्चे आने वाले डेटा को कैप्चर करने का प्रयास करना चाहता हूं और अगली बार जब आप एक डुप्ली देखते हैं, तो देखें कि ग्राहक वास्तव में यह सत्यापित करने के लिए भेजा गया है कि आप क्या चाहते हैं। –
मैं क्लाइंट एंड पर कुछ भी कैप्चर नहीं कर सकता, लेकिन मैंने प्रत्येक डुप्लिकेट के लिए इनपुट सहेजा है और कुछ भी अस्वस्थ नहीं लगता है। वे वास्तव में एक पहचानकर्ता भेज रहे हैं जिसका पहले से ही उपयोग किया जा रहा है। – kevboh
ऐप्पल समर्थन से बात करने का समय मुझे लगता है, फिर, और यहां पर फ़ॉलो करें जब (यदि) आपने कभी भी कुछ सुना है। मेरे द्वारा अपनी सांसो को स्थिर नहीं रखा जा रहा था। –