คำถามติดแท็ก apple-push-notifications

บริการแจ้งเตือนแบบพุชของ Apple เป็นบริการที่สร้างโดย Apple Inc. ซึ่งเปิดตัวพร้อมกับ iOS 3.0 APNS ใช้ร่วมกับ Mac OS X Lion Server เพื่อส่งการแจ้งเตือนการอัปเดตไปยังไคลเอนต์ที่ลงทะเบียนเพื่อรับการอัปเดตผ่านโปรไฟล์การกำหนดค่าและยัง โดยใช้บริการอีเมลปฏิทินและรายชื่อติดต่อของเซิร์ฟเวอร์ ซึ่งหมายความว่าอุปกรณ์เช่น iPhone และแอปพลิเคชันเช่น iCal บน Mac สามารถรับการแจ้งเตือนได้

11
ใบรับรองนี้มี Apple Push Services ของผู้ออกที่ไม่ถูกต้อง
ฉันสร้างใบรับรองเพื่อเปิดใช้งาน Push Services ในแอปของฉัน แต่ทุกครั้งที่ฉันพยายามเพิ่มใบรับรองใน Keychain ของฉันหลังจากเพิ่มใบรับรองแล้วจะแสดงข้อผิดพลาดดังต่อไปนี้: ใบรับรองนี้มีผู้ออกที่ไม่ถูกต้อง

7
สร้างไฟล์. pem ที่ใช้เพื่อตั้งค่า Apple Push Notifications
ฉันพยายามและพยายามสร้างไฟล์. pem ทุกครั้งที่สร้างใบรับรองจากบัญชีของลูกค้าและสร้างไฟล์. pem โดยใช้เทอร์มินัล แต่ก็ไม่มีประโยชน์ ใครสามารถให้กระบวนการทีละขั้นตอนได้บ้าง?

7
iOS จะเปิดแอพของฉันเป็นพื้นหลังหรือไม่หากผู้ใช้นั้นถูกบังคับให้ออกจากระบบ?
ฉันเรียกใช้การดึงพื้นหลังโดยใช้การcontent-availableตั้งค่าสถานะในการแจ้งเตือนแบบพุช ฉันมีfetchและremote-notification UIBackgroundModesเปิดใช้งาน นี่คือการใช้งานที่ฉันใช้ใน AppDelegate.m ของฉัน: - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { NSLog(@"Remote Notification Recieved"); UILocalNotification *notification = [[UILocalNotification alloc] init]; notification.alertBody = @"Looks like i got a notification - fetch thingy"; [application presentLocalNotificationNow:notification]; completionHandler(UIBackgroundFetchResultNewData); } เมื่อแอปทำงานในพื้นหลังก็จะทำงานได้ดี (ได้รับการแจ้งเตือนและแอปพลิเคชันเรียกใช้การแจ้งเตือนในท้องถิ่น "ดูเหมือนว่าฉันได้รับการแจ้งเตือน" ตามที่ควรทำ อย่างไรก็ตามเมื่อแอพไม่ได้ทำงานและได้รับการแจ้งเตือนแบบพุชด้วยการcontent-availableตั้งค่าสถานะแอพจะไม่เปิดใช้งานและdidRecieveRemoteNotificationจะไม่เรียกวิธีการมอบสิทธิ์ วิดีโอ WWDC มีอะไรใหม่ใน Multitasking (# 204 จาก …

15
registerForRemoteNotificationTypes: ไม่รองรับใน iOS 8.0 และใหม่กว่า
เมื่อพยายามลงทะเบียนสำหรับการแจ้งเตือนแบบพุชภายใต้ iOS 8.x: application.registerForRemoteNotificationTypes(UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound) ฉันได้รับข้อผิดพลาดต่อไปนี้: registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later. ความคิดใด ๆ ที่เป็นวิธีใหม่ในการทำมัน? มันใช้งานได้เมื่อฉันเปิดแอพ Swift บน iOS 7.x แก้ไข บน iOS 7.x เมื่อฉันรวมรหัสตามเงื่อนไขที่ฉันได้รับ (เงื่อนไขอย่างใดอย่างหนึ่งของ SystemVersion หรือ #if __IPHONE_OS_VERSION_MAX_ALLOWED> = 80000) dyld: Symbol not found: _OBJC_CLASS_$_UIUserNotificationSettings

19
กำหนดบน iPhone หากผู้ใช้เปิดใช้งานการแจ้งเตือนแบบพุช
ฉันกำลังมองหาวิธีตรวจสอบว่าผู้ใช้มีการตั้งค่าเปิดใช้งานหรือปิดใช้งานการแจ้งเตือนแบบพุชสำหรับแอปพลิเคชันของฉันหรือไม่


26
ตรวจสอบว่าแอปเปิดตัว / เปิดจากการแจ้งเตือนแบบพุช
เป็นไปได้ไหมที่จะรู้ว่าแอปเปิดตัว / เปิดจากการแจ้งเตือนแบบพุชหรือไม่? ฉันเดาว่าจะมีกิจกรรมเปิดตัวที่นี่: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if (launchOptions != nil) { // Launched from push notification NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; } } อย่างไรก็ตามฉันจะตรวจจับได้อย่างไรว่าเปิดขึ้นมาจากการแจ้งเตือนแบบพุชเมื่อแอปอยู่ในพื้นหลัง

29
ฉันจะแปลงโทเค็นอุปกรณ์ของฉัน (NSData) เป็น NSString ได้อย่างไร
ฉันกำลังใช้การแจ้งเตือนแบบพุช ฉันต้องการบันทึก APNS Token ของฉันเป็นสตริง - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)newDeviceToken { NSString *tokenString = [NSString stringWithUTF8String:[newDeviceToken bytes]]; //[[NSString alloc]initWithData:newDeviceToken encoding:NSUTF8StringEncoding]; NSLog(@"%@", tokenString); NSLog(@"%@", newDeviceToken); } บรรทัดแรกของรหัสพิมพ์ null วินาทีพิมพ์โทเค็น ฉันจะรับอุปกรณ์ใหม่เปิดเป็น NSString ได้อย่างไร

23
จะแก้ไขสตริง“ ไม่พบสตริงการให้สิทธิ์ 'aps-environment' ที่ถูกต้องสำหรับแอปพลิเคชัน” ใน Xcode 4.3 ได้อย่างไร
ฉันพยายามอย่างหนักในการสร้างแอพ iOS ที่เรียบง่ายซึ่งสามารถรับการแจ้งเตือนแบบพุชได้ เหตุผลเดียวของฉันในการทำเช่นนี้คือการสร้างขั้นตอนสำหรับสมาชิกในทีมอื่นที่จะใช้และไม่สามารถหาเวอร์ชันล่าสุดของคำแนะนำดังกล่าวที่ทำงานได้จากที่อื่นบนเว็บ ร้านค้าของเราค่อนข้างใหม่สำหรับ iOS dev โดยส่วนตัวแล้วฉันไม่มีประสบการณ์อย่างสมบูรณ์กับ iOS dev และ Xcode ฉันพบบทเรียนหลายบทความและโพสต์ปัญหาจาก Apple และที่อื่น ๆ และฉันรู้สึกว่าฉันอาจจะอยู่ที่นั่น ... ที่นี่คือที่ที่ฉันต้องไป (โปรดทราบว่าฉันใช้ Xcode 4.3 และพยายามเริ่มปรับใช้กับ iOS 5.1 เป็นครั้งแรกและฉันรวบรวมว่าบางสิ่งอาจเปลี่ยนไปเมื่อเร็ว ๆ นี้เทียบกับ Xcode เวอร์ชันก่อนหน้านี้ แต่อีกครั้งฉันใหม่ทั้งหมด สิ่งนี้ - และพบว่ามันสับสนและสับสนอย่างสมบูรณ์): 1) ฉันมีโปรไฟล์การจัดสรรใน iPhone ซึ่งเปิดใช้งานการพุช 2) ในโครงการทดสอบ Xcode ของฉันฉันได้รับโปรไฟล์การจัดสรรที่เลือกเป็นข้อมูลประจำตัวการเซ็นชื่อ (ในการตั้งค่า Build> การเซ็นรหัส) 3) ฉันมีตัวระบุบันเดิลของฉันภายใต้สรุปและข้อมูล> ตั้งค่าคุณสมบัติเป้าหมาย iOS ที่กำหนดเองอย่างถูกต้อง …

4
ต่ออายุใบรับรอง Push และทำให้ App Store App ปัจจุบันใช้งานได้
ฉันมีแอพในแอพสโตร์ซึ่งใช้ iOS Provisioning Profile (การแจกจ่าย) ซึ่งหมดอายุแล้ว โปรไฟล์นี้มี Push Certificate ที่หมดอายุแล้วด้วย (และจะไม่ปรากฏอีกต่อไปในพอร์ทัล) คำถามที่ 1 : มีวิธีสร้างใบรับรองพุชใหม่แล้วต่ออายุโปรไฟล์หรือไม่? (ฉันยังมีใบรับรองการพุช (หมดอายุ) บนพวงกุญแจของฉัน)? คำถามที่ 2 : ฉันจำเป็นต้องส่งแอปไปยัง app store อีกครั้งด้วยโปรไฟล์ใหม่ที่มีใบรับรอง Push ใหม่หรือไม่ เนื่องจากใบรับรองการพุชหมดอายุฉันจึงไม่สามารถส่งการแจ้งเตือนไปยังผู้ใช้ที่มีอยู่ของแอปได้

17
ไม่มีสิทธิในการแจ้งเตือนแบบพุช
ฉันมีแอปสำหรับส่งเมื่อถูกปฏิเสธและได้รับข้อความ ไม่มีสิทธิ์ในการแจ้งเตือนแบบพุช - ดูเหมือนว่าแอปของคุณจะลงทะเบียนกับบริการ Apple Push Notification แต่สิทธิ์ของลายเซ็นแอปไม่รวมสิทธิ์ "aps-environment" หากแอปของคุณใช้บริการแจ้งเตือนแบบพุชของ Apple ตรวจสอบให้แน่ใจว่ารหัสแอปของคุณเปิดใช้งานสำหรับการแจ้งเตือนแบบพุชในพอร์ทัลการจัดเตรียมและส่งอีกครั้งหลังจากลงนามแอปของคุณด้วยโปรไฟล์การจัดเตรียมการแจกจ่ายที่มีสิทธิ์ "aps-environment" ฉันตรวจสอบการจัดเตรียมเฉพาะกิจและที่นั่นฉันพบสภาพแวดล้อมและการใช้งานจริงอย่างไรก็ตามเมื่อฉันเปิดการจัดเตรียมการแจกจ่ายฉันไม่พบสิ่งนั้น นี่คือสาเหตุของข้อความแสดงข้อผิดพลาดและการปฏิเสธของ Apple ฉันจะแก้ไขได้อย่างไร

10
แสดงแบนเนอร์แจ้งเตือน iOS เมื่อแอปของคุณเปิดอยู่และอยู่เบื้องหน้า?
เมื่อแอป iOS Messages อย่างเป็นทางการของ Apple เปิดอยู่และอยู่เบื้องหน้าข้อความใหม่จากผู้ติดต่อรายอื่นจะทริกเกอร์สต็อกแบนเนอร์แจ้งเตือนดั้งเดิมของ iOS ดูภาพด้านล่าง เป็นไปได้ไหมในแอพของบุคคลที่สามบน App Store การแจ้งเตือนในพื้นที่และ / หรือแบบพุชสำหรับแอปของคุณในขณะที่แอปของคุณเปิดอยู่และอยู่เบื้องหน้า ? เมื่อทำการทดสอบapp ของฉัน , จะได้รับการแจ้งเตือน แต่ไม่มีการแจ้งเตือน iOS ของ UI ที่จะแสดง แต่พฤติกรรมนี้มีให้เห็นในแอป Messages อย่างเป็นทางการของ Apple: ท้องถิ่นและระยะไกลการเขียนโปรแกรมแจ้งคู่มือบอกว่า: เมื่อระบบปฏิบัติการส่งการแจ้งเตือนในพื้นที่หรือการแจ้งเตือนระยะไกลและแอปเป้าหมายไม่ทำงานอยู่เบื้องหน้าก็สามารถนำเสนอการแจ้งเตือนแก่ผู้ใช้ผ่านการแจ้งเตือนหมายเลขป้ายไอคอนหรือเสียง หากแอปกำลังทำงานอยู่เบื้องหน้าเมื่อมีการแจ้งเตือนผู้ร่วมประชุมแอปจะได้รับการแจ้งเตือนในพื้นที่หรือระยะไกล ใช่เราสามารถรับข้อมูลการแจ้งเตือนในขณะที่อยู่เบื้องหน้าได้ แต่ผมไม่เห็นวิธีการที่จะนำเสนอพื้นเมือง iOS แจ้งเตือน UI -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // I know we still receive the notification `userInfo` …

11
เว็บแอปพลิเคชันจะส่งข้อความ Push ไปยังอุปกรณ์ iOS ได้อย่างไร [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังทำงานเกี่ยวกับเว็บแอป ฉันจะส่งการแจ้งเตือนแบบพุชไปยังผู้ใช้ iOS ได้อย่างไรเมื่อมีเนื้อหาใหม่

11
Xcode 8“ สิทธิ์ในสภาพแวดล้อม aps หายไปจากลายเซ็นของแอป” ในการส่ง
ฉันมีแอปที่เราได้ส่งหลายเวอร์ชันไปในช่วง 6 เดือนที่ผ่านมาและเราใช้ APNS ฉันได้รับอีเมลต่อไปนี้จาก Apple หลังจากอัปเกรดเป็น Xcode 8 เรียนผู้พัฒนา เราพบปัญหาอย่างน้อยหนึ่งอย่างกับการจัดส่งล่าสุดสำหรับ APP_NAME ของคุณ การจัดส่งของคุณประสบความสำเร็จ แต่คุณอาจต้องการแก้ไขปัญหาต่อไปนี้ในการจัดส่งครั้งต่อไป: ไม่มีสิทธิ์ในการแจ้งเตือนแบบพุช - แอปของคุณมี API สำหรับบริการ Push Notification ของ Apple แต่สิทธิ์ในสภาพแวดล้อม aps หายไปจากลายเซ็นของแอป ในการแก้ไขปัญหานี้ตรวจสอบให้แน่ใจว่า App ID ของคุณเปิดใช้งานสำหรับการแจ้งเตือนแบบพุชในพอร์ทัลการจัดเตรียม จากนั้นลงนามแอปของคุณด้วยโปรไฟล์การจัดเตรียมการแจกจ่ายที่มีการให้สิทธิ์สภาพแวดล้อม aps สิ่งนี้จะสร้างลายเซ็นที่ถูกต้องและคุณสามารถส่งแอปของคุณอีกครั้งได้ ดู "การจัดเตรียมและการพัฒนา" ในคู่มือการเขียนโปรแกรมการแจ้งเตือนในพื้นที่และแบบพุชสำหรับข้อมูลเพิ่มเติม หากแอพของคุณไม่ใช้บริการ Apple Push Notification ก็ไม่ต้องดำเนินการใด ๆ คุณสามารถลบ API ออกจากการส่งในอนาคตเพื่อหยุดคำเตือนนี้ หากคุณใช้กรอบงานของบุคคลที่สาม หลังจากแก้ไขปัญหาแล้วคุณสามารถใช้ Xcode หรือ …

11
การแจ้งเตือนแบบพุช iOS: จะตรวจสอบได้อย่างไรว่าผู้ใช้แตะการแจ้งเตือนเมื่อแอปอยู่ในพื้นหลัง
มีเธรด stackoverflow มากมายเกี่ยวกับหัวข้อนี้ แต่ฉันยังไม่พบวิธีแก้ปัญหาที่ดี หากแอปไม่ได้อยู่ในพื้นหลังที่ฉันสามารถตรวจสอบlaunchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]ในapplication:didFinishLaunchingWithOptions:การเรียกร้องให้ดูว่ามันเปิดจากการแจ้งเตือน หากแอปอยู่เบื้องหลังโพสต์ทั้งหมดแนะนำให้ใช้application:didReceiveRemoteNotification:และตรวจสอบสถานะแอปพลิเคชัน แต่จากที่ฉันทดลอง (และตามชื่อของ API นี้) วิธีนี้จะถูกเรียกเมื่อได้รับการแจ้งเตือนแทนที่จะแตะ ดังนั้นปัญหาคือหากเปิดแอปแล้วจึงเป็นพื้นหลังและคุณรู้ว่าได้รับการแจ้งเตือนจากapplication:didReceiveNotification( application:didFinishLaunchWithOptions:จะไม่เรียกใช้ ณ จุดนี้) คุณจะรู้ได้อย่างไรว่าผู้ใช้กลับมาใช้งานแอปต่อโดยแตะที่การแจ้งเตือนหรือเพียงแค่แตะ ไอคอนแอพ? เนื่องจากหากผู้ใช้แตะการแจ้งเตือนความคาดหวังคือการเปิดหน้าที่กล่าวถึงในการแจ้งเตือนนั้น มิฉะนั้นก็ไม่ควร ฉันสามารถใช้handleActionWithIdentifierสำหรับการแจ้งเตือนการดำเนินการที่กำหนดเองได้ แต่สิ่งนี้จะถูกทริกเกอร์ก็ต่อเมื่อมีการแตะปุ่มการทำงานที่กำหนดเองไม่ใช่เมื่อผู้ใช้แตะที่เนื้อหาหลักของการแจ้งเตือน ขอบคุณ แก้ไข: หลังจากอ่านคำตอบด้านล่างฉันคิดว่าด้วยวิธีนี้ฉันสามารถชี้แจงคำถามของฉันได้: เราจะแยกแยะสถานการณ์ 2 สถานการณ์นี้ได้อย่างไร: (A) 1. แอปไปที่พื้นหลัง 2. ได้รับการแจ้งเตือน; 3. ผู้ใช้แตะที่การแจ้งเตือน 4. แอพเข้าสู่เบื้องหน้า (B) 1. แอปไปที่พื้นหลัง 2. ได้รับการแจ้งเตือน; 3. ผู้ใช้ละเว้นการแจ้งเตือนและแตะที่ไอคอนแอพในภายหลัง 4. แอพเข้าสู่เบื้องหน้า เนื่องจากapplication:didReceiveRemoteNotification:ถูกทริกเกอร์ในทั้งสองกรณีในขั้นตอนที่ 2 หรือควรapplication:didReceiveRemoteNotification:จะถูกเรียกใช้ในขั้นตอนที่ 3 สำหรับ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.