يتطلب تصحيح أخطاء الروابط العالمية التي تفشل في فتح تطبيقك اتباع نهج منهجي، والتحقق من تكوين تطبيقك وإعدادات خادم الويب الخاص بك. فيما يلي دليل شامل:
1. تحقق من الإعدادات الأساسية واختبر البيئة
- جهاز حقيقي، وليس محاكي: غالبًا ما تعمل الروابط العالمية بشكل مختلف على أجهزة المحاكاة. قم دائمًا باختبارها على جهاز iOS فعلي.
- حذف التطبيق وإعادة تثبيته: بعد إجراء التغييرات، احرص دائمًا على حذف التطبيق من جهازك وإعادة تثبيته. يؤدي ذلك إلى إجبار iOS على إعادة تنزيل ملف
apple-app-site-association(AASA). - اختبر من المصادر المناسبة: لن تعمل الروابط العالمية إذا قمت بلصقها مباشرة في شريط عنوان URL بالمتصفح. اختبرها عن طريق النقر على الروابط من تطبيقات أخرى مثل Notes أو Mail أو iMessage أو Slack. قد لا تدعم بعض التطبيقات مثل Instagram أو Twitter أو Facebook الروابط العالمية مباشرة.
2. تحقق من ملف apple-app-site-association (AASA)
ملف AASA ضروري للروابط العالمية. يقوم iOS بتنزيل هذا الملف من خادم الويب الخاص بك لتحديد الروابط التي يمكن لتطبيقك التعامل معها.
- موقع الملف: يجب استضافة ملف AASA على
https://yourdomain.com/apple-app-site-associationأوhttps://yourdomain.com/.well-known/apple-app-site-association. - HTTPS وبدون إعادة توجيه: يجب تقديم الملف عبر HTTPS وبدون أي إعادة توجيه 3xx.
- رأس نوع المحتوى: تأكد من أن الخادم يعرض رأس
Content-Typeالصحيح لملف AASA. - صحة JSON: يجب أن يكون ملف AASA ملف JSON صالحًا ويتوافق مع المخطط المحدد. يمكنك استخدام أدوات التحقق من الصحة عبر الإنترنت (مثل أداة التحقق من صحة AASA من Branch.io) للتحقق من صحتها.
appIDوالمسارات: تحقق من أنappIDفي ملف AASA الخاص بك يطابق معرف الفريق ومعرف الحزمة لتطبيقك (على سبيل المثال،ABC123DEF.com.example.app). تأكد أيضًا من أن مصفوفةpathsتحدد بشكل صحيح مسارات URL التي يجب أن يتعامل معها تطبيقك.- سجلات الخادم: تحقق من سجلات HTTPS لخادم الويب الخاص بك للتأكد من أن ملف AASA يتم تنزيله بواسطة iOS عند تثبيت تطبيقك.
3. تكوين التطبيق في Xcode
- حقوق المجالات المرتبطة: في مشروع Xcode الخاص بك، انتقل إلى علامة التبويب "التوقيع والقدرات" وتأكد من تمكين "المجالات المرتبطة". أضف المجال الخاص بك بالتنسيق
applinks:yourdomain.com. - التصحيح مقابل الإصدار: إذا كنت تقوم بالتصحيح أثناء التطوير، فتأكد من أنك تقوم بتحرير إصدار التصحيح من "التوقيع والقدرات". لتجاوز Apple Universal Links CDN أثناء التطوير، قم بتكوين مجالات التصحيح الخاصة بك مثل
applinks:yourdomain.com?mode=developer. - App Delegate/Scene Delegate: تحقق من أن
AppDelegate(أوSceneDelegateلنظام iOS 13+) في تطبيقك ينفذ بشكل صحيح طريقةapplication(_:continueUserActivity:restorationHandler:)لمعالجة كائناتNSUserActivityالواردة لـ Universal Links.
4. تصحيح الأخطاء الخاصة بالجهاز
- سجلات وحدة التحكم: قم بتوصيل جهازك بـ Xcode وافتح وحدة التحكم (نافذة > الأجهزة والمحاكيات > [جهازك] > فتح وحدة التحكم). قم بتصفية السجلات بحثًا عن "swcd" (Shared Web Credentials Daemon) لمعرفة ما إذا كان تسجيل الرابط العالمي قد نجح أم فشل.
- إعدادات المطور (iOS 13+):
- قم بتمكين "Developer Mode" في Settings > Privacy & Security > Developer Mode.
- في الإعدادات > المطور > الروابط العالمية، قم بتمكين "تطوير المجالات المرتبطة".
- استخدم أداة "التشخيص" في قسم الروابط العالمية لإدخال عنوان URL للرابط العالمي والتحقق من صلاحيته للتطبيق المثبت لديك.
- إعادة تشغيل الجهاز: يمكن أن تؤدي إعادة تشغيل جهازك إلى مسح ذاكرة التخزين المؤقتة لروابط iOS العالمية وحل المشكلات.
- الاختبار على أجهزة/إصدارات iOS مختلفة: يساعد ذلك في استبعاد مشكلات التكوين الخاصة بالجهاز.
- إعادة تمكين الروابط العالمية: إذا تم فتح رابط عالمي سابقًا في Safari، فربما تم تعطيله لهذا الرابط المحدد. اضغط مطولاً على الرابط في تطبيق مثل Notes وحدد "فتح في [اسم التطبيق]" لإعادة تمكينه. إذا رأيت شعار تطبيق ذكي في Safari، فإن النقر على "فتح" في الشعار يمكن أن يعيد تمكين الروابط العالمية أيضًا.
5. استكشاف الأخطاء وإصلاحها المتقدم
sysdiagnoseالسجلات: للحصول على رؤى أعمق، يمكنك الوصول إلى سجلاتsysdiagnoseعلى جهاز iOS الخاص بك (الإعدادات > الخصوصية والأمان > التحليلات والتحسينات > بيانات التحليلات). يمكن أن توفر هذه السجلات معلومات مفصلة حول كيفية معالجة iOS للروابط العالمية الخاصة بك.- أدوات الجهات الخارجية: استخدم أدوات مثل أداة التحقق من صحة واجهة برمجة تطبيقات البحث عن التطبيقات من Apple أو أدوات التحقق من صحة أخرى تابعة لجهات خارجية للتحقق من تكوين موقع الويب الخاص بك.
من خلال اتباع هذه الخطوات بشكل منهجي، يمكنك تحديد وحل معظم المشكلات التي تمنع الروابط العالمية من فتح تطبيقك.