سؤال

لدي تطبيق iPhone أعمل عليه ويستخدم الإشعارات الفورية.

في الحمولة أقوم بتحديد بعض الأشياء:

  • جسم الرسالة
  • صوت
  • action-loc-key لأنني لا أريد أن يتمكن المستخدم من تشغيل التطبيق من الإشعار

يصل الإشعار إلى جهاز iPhone الخاص بي على ما يرام.يظهر رسالة بدون أزرار.لذا فإن مفتاح body وaction-loc-key يعملان بشكل جيد.لكنها لا تلعب أي صوت.

ومع ذلك، هناك بعض الأشياء التي لاحظتها أثناء استكشاف الأخطاء وإصلاحها:

  1. إذا قمت بتطبيق application:didReceiveRemoteNotification، فسيبدو كل شيء على ما يرام.تحتوي وسيطة القاموس على مفتاح للصوت، وقيمته هي بالفعل اسم الملف الذي أريد تشغيله.
  2. ملف الصوت نفسه "يعمل" لأنه إذا قمت بتشغيله داخل التطبيق (باستخدام فئة SoundEffect من نموذج BubbleLevel) فإنه يعمل بشكل جيد.

على الرغم من هاتين الحقيقتين، فإن التأثير الصوتي ببساطة لا يعمل.

في تطبيق الإعدادات، يبدو كل شيء على ما يرام - يتم تشغيل ميزة Push في تطبيقي، كما تم ضبط "الأصوات" و"التنبيهات" أيضًا.

يقترح مركز توثيق iPhone استخدام Quicktime لإلقاء نظرة على تنسيق الملف.هذا هو ما يبدو عليه الأمر.

alt text

أخيرًا ، إذا نظرت إلى المعلومات الخاصة بهذا الملف في XCode ، فإنه يقول أن نوع الملف هو ببساطة الافتراضي "ملف". من ما يمكن أن أقول أنه لا يوجد خيار صوتي في القائمة.لقد جربت الصوت WAV (أخبرني مهندس الصوت أن الملفات الأصلية كانت WAV) لكن ذلك لم يغير شيئًا.

بالإضافة إلى الكود:

- (void)applicationDidFinishLaunching:(UIApplication *)application {

// view controller set up stuff
    // ...

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];

}

هل كانت مفيدة؟

المحلول

كان ينبغي عليّ نشر JSON أيضًا، فقد اتضح أنني كنت أقوم بإنشائه بشكل خاطئ.سبب نجاحه في إشعار didReceieveRemote هو أنني كنت أقوم بتحليل JSON بنفسي وحقيقة أن لدي أشياء معطلة لا يهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top