يلغي الحاجة إلى سيارة "يدعم CarPlay™"، ويقوم بتشغيل CarPlay UI مباشرة أعلى SpringBoard على جهاز iOS.
يعمل بشكل رائع مع أجهزة iPad المثبتة على لوحة القيادة!
ملحوظة : هذا مخصص في المقام الأول لجهاز iPad، وأجهزة iPhone غير مدعومة حقًا (ومع ذلك، "يمكنك" استخدامه مع iPhone 6 Plus إذا كنت تريد ذلك حقًا).
وسأكون متأكدًا أيضًا من إجراء كتابة رسمية حول كيفية عمل كل هذا بمجرد الانتهاء من كل هذا وإمكانية استخدامه.
فروم فروم.
لنكون صادقين، يمكن تجنب الكثير من هذا الهراء تمامًا إذا أمكن إنشاء شاشة FBSDisplay ثانوية "مزيفة" ثم استخدامها. بهذه الطريقة يمكن لـ SBAApplications إنشاء/امتلاك مشاهد مناسبة للسيارات وسيكون هناك عدد أقل بكثير من الأشياء التي تم كسرها...
يتضمن معظم منطق التحقق من CarPlay التحقق من كل من شاشات UIScreen المتعددة، وواجهة UIScreen Idiom، وFBSDisplay -> عمليات بحث FBScene. ومع ذلك، فإن إنشاء شاشة FBSDisplay زائفة يتطلب إنشاء شاشة CAD زائفة وهو أمر لا يمثل الكثير من المرح:P
إليك كيفية العمل بشكل أساسي (أعتقد... أن بعض الأجزاء ربما تكون خاطئة أو معطلة):
يربط FrontBoard واحدًا من FBSDisplay باعتباره الشاشة الرئيسية ويحتوي على مجموعة من FBScenes التي تمثل المشهد الرئيسي لكل تطبيق SBApplication. بمجرد توفر FBSDisplay ثانٍ، يمكنه بعد ذلك إنشاء carScene لكل تطبيق SBApplication يعتبر قادرًا. سيتم بعد ذلك عرض مشاهد السيارات هذه على أي شاشات متصلة خارجيًا (FBSDisplay الثانوي).
في الأصل، كنت قد حاولت استخدام FBSDisplay عاليًا عند إنشائه وتكرار تلك الشاشة في كائن FBSDisplay ثانوي باستخدام نفس كائن CADisplay... ثم دفع كائن FBSDisplay هذا إلى جدول البحث الخاص به لجعله يبدو كما لو كان متعددًا كانت الشاشات متاحة. لكن. يؤدي هذا إلى فزع UIScreen لأنه يعتبر كلتا الشاشتين متماثلتين. كما أن الكثير من نظام التشغيل لم يعجبه هذا :P
ما أفعله هو مجرد جعل جميع شاشات UIS تظهر كشاشات CarPlay بالإضافة إلى إجبار جميع التطبيقات على العرض في الوضع الأفقي (حيث يتم إجبار CarPlay على الشاشات الخارجية على الوضع الرأسي). بالإضافة إلى ذلك، هذا يعني أن carScene الخاص بكل تطبيق SBApplication هو المشهد الرئيسي، وهو ما لا يضمن النجاح.
قد يكون إنشاء خادم AirPlay محلي ثم اختراق اللمسات للعمل على عرض (محتوياته عبارة عن شاشة ثانوية يتم عرضها محليًا، باستخدام الجهاز لـ AirPlay + النسخ المتطابق) حلاً رائعًا لهذا، لكنني لم أجربه بعد. وهذا من شأنه أن يمنحنا FBSDisplay ثانيًا شرعيًا للعب به.
لقد استخدمت ثيوس لهذا الغرض. ستحتاج إلى تثبيتها وإعداد متغيرات البيئة المناسبة وما إلى ذلك بالإضافة إلى تكوينها. معلومات عن ذلك هنا.
يتم تمكين دعم ARM64 افتراضيًا، وإذا كنت بحاجة إلى مساعدة في إعداد ذلك، فتحقق هنا.
أنا أستخدم شوكة theos الخاصة بي، والتي بدورها متفرعة من شوكة @rpetrich.
إذا قمت بتحرير ملف Makefile، فيمكنك تحديد عنوان IP لجهاز iOS الخاص بك وما شابه ذلك للإنشاء والتشغيل باستخدام make package install
. بخلاف ذلك، يمكنك ببساطة make package
لإنشاء ملف .deb وتثبيته بأي وسيلة.
مجاني تماما! إذا كنت ترغب في دعم استمراري في هذا المشروع (وغيره!)، فلا تتردد في التبرع! سيكون موضع تقدير كبير: د
إلى حد كبير ترخيص BSD، فقط لا تعيد تجميعه وتسميه خاصًا بك من فضلك!
وأيضًا إذا قمت بإجراء بعض التغييرات، فلا تتردد في تقديم طلب سحب والمساعدة في جعل الأمور أكثر روعة!
لا تتردد في متابعتي على تويتر: @b3ll!
على الرغم من أنني لا أحب حقًا التعامل مع طلبات الدعم هناك ...
ترافيس بيكهام لصورة السيارة المتجهة!