يمكنك استخدام معرف تطبيق فيسبوك في تطبيقات iOS متعددة، على سبيل المثالن بين الإصدارات المجانية والمدفوعة لتطبيقك.
حدد معلمة لاحقة مخطط عنوان URL، 'FacebookUrlSchemeSuffix'، في ملف '.plist' في تطبيقك.
ملاحظة: لا يمكن استخدام سوى حروف أبجدية في اللاحقة.
يشتمل ملف SDK المضغوط على 'FacebookSDKStrings.bundle' والتي تحتوي على سلاسل نصية مترجمة لموارد SDK. قم بتضمين الحزمة في تطبيقك مع [تمكين التدويل الأساسي] (https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html#//apple_ref/doc/uid/10000171i-CH3-SW4) كما هو موضح في وثائق Apple.
يمكنك تنزيل الإصدارات السابقة لمجموعة SDK من منطقة تنزيلات iOS.
نظرًا لأن مربع الحوار "مشاركة" الأصلي يعتبر جزءًا من تطبيق فيسبوك لنظام iOS، فلا يمكن تشغيله على محاكي. يجب استخدام جهاز فعلي لاختبار مربع الحوار "مشاركة" الأصلي. يتم حاليًا بحث الوسائل الممكنة التي يمكن من خلالها اختبار مربع الحوار "مشاركة" الأصلي على المحاكي.
يجب التأكد من وجود بيانات الاستيراد الصحيحة على رأس كل ملف من الملفات التي تحاول فيها استخدام فئات مجموعة Facebook SDK. على سبيل المثال:
#import <FBSDKCoreKit/FBSDKCoreKit.h> #import <FBSDKShareKit/FBSDKShareKit.h> #import <FBSDKLoginKit/FBSDKLoginKit.h>
في حالة استخدام أطر العمل في Objective-C، فإنه لا يتم تحميل الفئات التي تستخدم التصنيفات لتوسيع الفئات الحالية تلقائيًا.
عند محاولة استدعاء طريقة قد تم توسيعها في هذه الفئات، تظهر رسالة الخطأ 'تم إرسال أداة تحديد غير معروفة إلى المثيل'. ولا يتم كذلك تحميل الفئات المستخدمة من منشئ واجهات Xcode تلقائيًا، على سبيل المثال عند إضافة 'FBSDKLoginButton' إلى واجهتك من خلال رسم طريقة عرض في ملف .xib وتعيينها على أنها 'FBSDKLoginButton' من خلال واجهة مستخدم منشئ الواجهات. وبالتالي كما قلنا، عند محاولة استدعاء طرق عليها تظهر رسالة الخطأ 'تم إرسال أداة تحديد غير معروفة إلى المثيل'. يتوفر لحل هذه المشكلة خياران.
يمكنك تحميل الفئة يدويًا في 'application:didFinishLaunchingWithOptions' لتفويض التطبيق من خلال استدعاء:
[FBSDKLoginButton class];
أو يمكنك إضافة إشارة أداة الربط '-ObjC'. توجه الإشارة أداة الربط لتحميل كل ملفات الكائنات الموجودة في مجموعة SDK والتي تحدد الفئة أو التصنيف Objective-C. تؤدي هذه الطريقة إلى أن تعمل كافة الفئات خارج سياقها إلا أنه يترتب عليها زيادة حجم الملف القابل للتنفيذ (وذلك بسبب رمز الكائن الإضافي الذي تم تحميله إلى التطبيق).
لإضافة إشارة '-ObjC'، انقر على هدف المشروع وحدد علامة تبويب "Build Settings" (إعدادات النسخة). وأسفل "Linking" (الربط)، انقر نقرًا مزدوجًا على "Other Linker Flags" (إشارات أداة ربط أخرى) لإضافة '-ObjC'.
يستخدم 'FBSDKRequestConnection' 'NSURLConnection' الذي يتطلب وجود [RunLoop] نشط (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSRunLoop_Class/Reference/Reference.html). وفي حالة استخدامه خارج نطاق السلسلة الأساسي، فيجب عليك إدارة ذلك بنفسك.
أو يمكنك بدلاً من ذلك تعيين خاصية 'delegateQueue' على 'FBSDKRequestConnection'.
من الشائع حدوث أخطاء تكوين في '.plist'. تأكد من اشتمال'.plist' على صفوف 'FacebookAppID' و'FacebookDisplayName' وإدخال نوع عنوان URL لـ 'fb{app-id}'.
في حالة الحصول على أي نتائج غير متوقعة عند تقديم طلبات Graph API، يجب تمكين وضع تصحيح الأخطاء قبل تقديم أية طلبات:
[FBSettings setLoggingBehavior: [NSSet setWithObject:FBSDKLoggingBehaviorGraphAPIDebugInfo]];
قم باستخدام 'FBSDKLoggingBehaviorGraphAPIDebugWarning' إذا كنت ترغب في إيقاف رسائل مستوى المعلومات والاحتفاظ برسائل التحذير فقط.
يؤدي تمكين سلوك تسجيل الدخول هذا إلى إضافة معلمة 'debug' لاستدعاء طلبات Graph API وإخراج أي مشكلات موجودة في وحدة التحكم.
يمكنك الاطلاع على المزيد عن وضع تصحيح أخطاء Graph API [هنا] (/docs/graph-api/using-graph-api/v2.3#debugging).
تقوم مجموعة SDK بالإبلاغ عن عملية إلغاء إذا ضغط المستخدم بوضوح على أحد أزرار الإلغاء في مربعات حوار تسجيل الدخول، أو عند القيام يدويًا بالتشغيل مرة أخرى للتطبيق (والذي يعرف باسم الإلغاء الضمني). يجب التأكد من عدم بدء دفق تسجيل دخول كجزء من دورة حياة تفويض التطبيق (مثل بدء عملية تسجيل دخول داخل 'application:openURL:sourceApplication:annotation:') حيث يحاكي ذلك عملية الإلغاء الضمنية. وإذا اقتضت الضرورة، قم بإرسال بدء تسجيل الدخول فيما بعد إلى قائمة الانتظار الرئيسية بحيث تكتمل دورة حياة تفويض التطبيق أولاً.
يقوم مربع الحوار "مشاركة" بإبلاغ طريقتي 'sharer:didCompleteWithResults:' و'sharerDidCancel:' للتفويض الخاص به عند اتخاذ المستخدم أحد الإجراءات.
في حالة الحصول على نتائج غير متوقعة عند تقديم الطلبات، يجب تشغيل تصحيح أخطاء 'FBSDKGraphRequests'. يجب وضع هذا الرمز قبل أي طلب:
[FBSDKSettings enableLoggingBehavior:FBSDKLoggingBehaviorNetworkRequests];
سيصبح بالإمكان تصحيح أخطاء أي مشكلات من خلال عرض الطلبات والاستجابات من الخوادم مباشرة.
ويُنصح بالنظر في ثوابت 'FBSDKLoggingBehavior*' الأخرى المحددة في 'FBSDKSettings.h' بحثًا عن أي أشياء أخرى يمكن تسجيلها.