[ios] आईओएस आईओएस पुश सूचनाओं पर उत्पादन नहीं भेज रहा है


Answers

विकास और उत्पादन के लिए डिवाइस टोकन एक समान नहीं है।

जब आप उत्पादन का परीक्षण करते हैं तो उत्पादन के लिए अपने टोकन को देखने के लिए UIAlertView का उपयोग करें। निम्नलिखित की तरह कुछ करें:

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
    NSString *deviceID = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
    deviceID = [deviceID stringByReplacingOccurrencesOfString:@" " withString:@""];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Device Token", nil) message:deviceID delegate:nil cancelButtonTitle:NSLocalizedString(@"OK", nil) otherButtonTitles:nil];
    [alert show];
}

उत्पादन के लिए सूचना को पुश करने के लिए इस टोकन का उपयोग करें

Question

मैं थोड़ी देर के लिए इस पर काम कर रहा हूं। मुझे पता है वहाँ एक टन लेख है, और इसके बारे में बहुत कुछ सीख लिया है।

मैंने अपना विकास और उत्पादन एसएसएल का ही तरीका बनाया है। एसएसएल से जुड़ा विकास: // गैटवे.sandbox.push.apple.com: 2195 उत्पादन एसएसएल से जोड़ता है: //gateway.push.apple.com: 21 9 9 कनेक्शन ठीक काम करने लगते हैं।

ऐप के लिए के रूप में विकास: जब मैं इसे सीधे xCode से अपने डिवाइस पर चलाता हूं, तो यह विकास संस्करण चलाता है। ऐप सफलतापूर्वक डेटाबेस में विकास टोकन रिकॉर्ड करता है। मैं फिर एक पुश अधिसूचना भेजने के लिए एक सेवा चलाता हूं, और इसे सही ढंग से वितरित किया जाता है। Msg सफलतापूर्वक वितरित किया जाता है।

तदर्थ: जब मैं एक संग्रह का निर्माण करता हूं और इसे तदर्थ वितरण के लिए निर्यात करता हूं, तो मैं पैकेज सामग्री codesign -dvvvv --entitlements - Elepago.app डबल जांच करता codesign -dvvvv --entitlements - Elepago.app और देखें कि एपीएस- codesign -dvvvv --entitlements - Elepago.app सही रूप से उत्पादन पर सेट है। मैं इसे पैकेज करता हूं और आईट्यून्स के माध्यम से इसे अपने डिवाइस पर लोड करता हूं। जब ऐप शुरू होता है, तो मुझे डेटाबेस में दर्ज किए गए नया उत्पादन टोकन दिखाई देता है। इसलिए पर्यावरण को सही ढंग से स्थापित किया जाना चाहिए। जब मैं पुश अधिसूचना उत्पादन कुंजी को भेजता हूं (समान रूप से विकास के समान है, बस SSL को .pem कुंजी और सर्वर बदलता है), तो यह कहता है कि यह सफलतापूर्वक वितरित किया गया है। हालांकि यह वास्तव में डिवाइस तक पहुंचता नहीं है !!!

यह समस्या मुझे पागल हो रही है मैं सिर्फ अपने वितरण प्रमाण पत्र के माध्यम से चला गया और इसे पूरी तरह से नया सीएसआर का उपयोग करके इसे फिर से बनाया। उस नए प्रमाण पत्र का उपयोग करने के लिए मैंने सभी प्रोविज़िगेशन प्रोफाइल भी अपडेट किए। [कोई भी ऐप कैसे इन प्रमाण-पत्रों को ऐप में टाई, एपीएस-पर्यावरण की बात के अलावा जो मैंने पहले ही जांच की थी।]

किसी भी जानकारी की काफी सराहना की जाएगी।




मेरी समस्या एक ही है जब मैंने जावा पर विकसित किया था लेकिन मैंने इसका हल उत्पादन के कारण = उत्पादन के लिए सही है और उत्पादन = विकास के लिए झूठ।

पेलोड (पेलोड, कीस्टोर, पासवर्ड, उत्पादन, उपकरण)

उममीद है कि इससे मदद मिलेगी।




Related