Arcore-unity-sdk: لماذا يتعين علينا إضافة iOS ARCore SDK عند استخدام ARKit حصريًا على iOS؟

تم إنشاؤها على ١٣ يونيو ٢٠١٨  ·  13تعليقات  ·  مصدر: google-ar/arcore-unity-sdk

لدينا تطبيق تم إنشاؤه في الأصل لنظام iOS. الآن يريد العميل نقله إلى Android. حسنًا ، نقوم بتنزيل هذه الحزمة وإلغاء تحديد كل شيء يتعلق بنظام iOS. نحن نستخدم خطافات ARKit الخاصة بنا لذلك. ومع ذلك ، فشل الارتباط لأنه لم تتم إضافة ARCore لإطار عمل iOS. لماذا نحن مجبرون على استخدام هذا؟

يبدو أن المكون الإضافي Unity ARCore له تبعيات صعبة على iOS ARCore SDK؟

feature request fixed in upcoming release

التعليق الأكثر فائدة

تكمن المشكلة في نظام iOS في أن كل شيء ثابت مرتبط بنظام iOS وبما أن ARCore توفر دعم السحابة السحابية على iOS ، فستحتاج إلى ربط ثابت بمكتبة ARCore iOS.

سنمنح الأولوية لهذه المشكلة ونحلها في الإصدارات المستقبلية. ابقوا متابعين.

ال 13 كومينتر

مرحبا ، شكرا على التقرير. هل يمكنك شرح المزيد حول ما تم إعداده في مشروعك ، وهدف الإنشاء ، وما هو الخطأ ، وما هو السلوك المتوقع؟

الإعداد كما ذكرت أنه مخصص لنظام iOS أولاً. لذلك لدينا بالفعل تكامل ARKit قيد التشغيل. نستخدم جنكينز للبناء والتوزيع. نحن نبني من سطر الأوامر بالحجج التالية:

-projectPath "${WORKSPACE}/" -buildNumber ${BUILD_NUMBER} -buildtarget ios -quit -batchmode -executeMethod CiBuild.BuildScript.BuildIos -logFile /dev/stdout

تضيف وظيفة BuildIos ببساطة أشياء إلى Info.plist. يعمل هذا الجزء من العملية الآن بشكل جيد ولكن الخطوة التالية وهي إنشاء Xcode فشلت في الربط حيث تحاول الإشارة إلى عناصر تكامل ARCore مثل هذه:

screen shot 2018-06-14 at 14 46 03

ضع في اعتبارك ، لدينا تكامل وتوليد غير محدد من حزم Cocoapods. فلماذا لا يزال هذا يحدث على iOS؟

بالرغم من ذلك ، يعمل إصدار Android بشكل جيد.

كان لدي سؤال مماثل في # 247. بالنسبة لنظام التشغيل iOS 11 ، من الممكن تضمين مكتبة ARCore باعتبارها تبعية ، ولكن بالنسبة للإصدارات السابقة ، سيمنعنا ARCore من تجميع التطبيق على الإطلاق.

لقد عملت حوله بإضافة #if UNITY_ANDROID إلى جميع ملفات ARCore. تأكد من الاحتفاظ بالخصائص والحقول المتسلسلة في مكانها حتى لا تفقد المراجع والبيانات عند التبديل بين الأنظمة الأساسية. سيكون رائعًا إذا تم دعم هذا خارج الصندوق :)

الشيء هو أن هناك خيارات لعدم تضمين وإنشاء podfile لنظام iOS ولكن حتى مع كل شيء غير محدد ، أحصل على أخطاء الرابط. أود الحصول على رد رسمي على هذا.

هل يمكنكم محاولة تغيير "__داخلية" إلى "NOT_AVAILABLE" في هذين الملفين ومعرفة ما إذا كان ذلك يحل مشكلتك؟

لدينا نفس المشكلة. يستخدم تطبيقنا ARCore لنظام Android و ARKit لنظام iOS. على الأجهزة التي لا تحتوي على ARCore / ARKit ، لدينا وضع احتياطي. ولكن مع تضمين ARCore ، لا يمكن تجميع إصدارات iOS SDK أقل من 11.0
الحل البديل الذي اقترحه Klipi ليس عمليًا في رأيي حيث يوجد الكثير من الملفات التي يجب تغييرها بعد كل تحديث.
يبدو أن الحل الذي اقترحه bopangzz أفضل ولكن خيار استبعاد ARCore بالكامل من iOS Builds سيكون رائعًا حقًا.
لسوء الحظ ، لا يمكن أيضًا نقل مجلد ARCore إلى Plugins / Android.
أي معلومات من الجانب الرسمي حول هذا الموضوع؟

يجب أن أضيف أن لدينا أيضًا حلًا احتياطيًا للأجهزة التي لا تستخدم اللغة العربية ، وبالتالي نستهدف نظام التشغيل iOS 10.

كما أنني أرى أن هذا تم وضع علامة عليه كـ "طلب ميزة" وهو ما يقلقني قليلاً. هذا يبدو وكأنه خطأ معماري أكثر من ميزة مقترحة. آمل أن يتم إعطاء الأولوية لهذا وفقًا لذلك.

تكمن المشكلة في نظام iOS في أن كل شيء ثابت مرتبط بنظام iOS وبما أن ARCore توفر دعم السحابة السحابية على iOS ، فستحتاج إلى ربط ثابت بمكتبة ARCore iOS.

سنمنح الأولوية لهذه المشكلة ونحلها في الإصدارات المستقبلية. ابقوا متابعين.

bopangzz يمكن أن يكون إطار العمل ديناميكيًا. لماذا لا تحزمها هكذا بدلاً من ذلك؟

لسوء الحظ ، لا تدعم Unity إطار العمل الديناميكي على iOS حتى الآن. لكننا أعطينا الأولوية لهذه المشكلة وسنجعل ARCore iOS يدعم خيار الاشتراك في إعدادات ARCore في الإصدار التالي.

في الوقت الحالي ، يمكنك حذف AppDependencies.xml ضمن مجلد Assets / GoogleARCore / Editor وتغيير "__داخلية" إلى "NOT_AVAILABLE" في هذين الملفين لحل هذه المشكلة.

اسمحوا لي أن أعرف إذا كانت هناك قضايا أخرى تتعلق بهذه المشكلة.

bopangzz أنت محق ، بالرغم من عدم إضافة إطار العمل بواسطة ملف podfile لاحقًا على أي حال؟ بأي حال من الأحوال ، فما باللك - يبدو أنك تتحكم في هذا الأمر. شكرا لك على التواصل السريع وردود الفعل!

شكرًا sebrk ، سنبقيها مفتوحة حتى نصدر إصلاحًا لها.

مرحبًا ، تم إصدار ARCore SDK for Unity v1.4.0 والآن يمكنك تعطيل دعم iOS من خلال تحرير-> ProjectSettings-> ARCore-> تمكين دعم iOS.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

iBicha picture iBicha  ·  4تعليقات

joshliebe picture joshliebe  ·  3تعليقات

tavilad picture tavilad  ·  6تعليقات

GTaylorRabbit picture GTaylorRabbit  ·  5تعليقات

Goya- picture Goya-  ·  5تعليقات