Meniadakan kebutuhan akan mobil yang "didukung CarPlay™", dan menjalankan UI CarPlay langsung di atas SpringBoard pada perangkat iOS.
Berfungsi bagus untuk iPad yang dipasang di dasbor!
Catatan : Ini terutama ditujukan untuk iPad, dan iPhone tidak benar-benar didukung (namun Anda "dapat" menggunakannya dengan iPhone 6 Plus jika Anda benar-benar menginginkannya).
Selain itu, saya pasti akan membuat tulisan formal tentang cara kerjanya setelah semua ini selesai dan dapat digunakan.
Vroom vroom.
Sejujurnya banyak omong kosong ini dapat dihindari jika tampilan FBSD "palsu" sekunder dapat dibuat dan kemudian digunakan. Dengan begitu SBApplications dapat membuat/memiliki carScene yang tepat dan akan lebih sedikit hal yang rusak...
Sebagian besar logika pemeriksaan CarPlay melibatkan pemeriksaan beberapa UIScreen, UIScreen interfaceIdiom, dan FBSDisplay -> pencarian FBScene. Namun, membuat FBSDisplay palsu memerlukan pembuatan CADisplay palsu yang tidak terlalu menyenangkan :P
Pada dasarnya begini cara kerjanya (menurut saya... beberapa bagian mungkin salah atau tidak aktif):
FrontBoard mengaitkan satu tampilan FBSD sebagai tampilan utama dan memiliki sekumpulan FBScene yang merupakan mainScene masing-masing SBApplication. Setelah tersedia tampilan FBSD kedua, maka dapat menghasilkan carScene untuk setiap aplikasi SBA yang dianggap mampu. CarScene ini kemudian akan ditampilkan ke layar mana pun yang terhubung secara eksternal (tampilan FBSD sekunder).
Awalnya, saya telah mencoba melakukan high-jacking pada FBSDisplay setiap kali dibuat dan hanya menduplikasi layar itu menjadi objek FBSDisplay sekunder dengan objek CADisplay yang sama... dan kemudian memasukkan objek FBSDisplay itu ke dalam tabel pencariannya sendiri untuk membuatnya tampak seolah-olah banyak layar tersedia. Namun. ini menyebabkan UIScreen panik karena menganggap kedua layar itu sama. Juga banyak OS yang tidak menyukai ini :P
Apa yang saya lakukan hanyalah membuat semua Layar UI muncul sebagai layar CarPlay serta memaksa semua aplikasi ditampilkan dalam lanskap (karena CarPlay di layar eksternal dipaksa menjadi potret). Selain itu, ini berarti bahwa setiap carScene aplikasi SBA adalah mainScene, yang tidak menjamin kesuksesan.
Membuat server AirPlay lokal dan kemudian meretas sentuhan untuk mengerjakan tampilan (yang isinya adalah layar sekunder yang diproyeksikan secara lokal, menggunakan perangkat untuk AirPlay + mirroring) bisa menjadi solusi yang tepat untuk ini, tetapi saya belum mencobanya. Itu akan memberi kita tampilan FBSD kedua yang sah untuk dimainkan.
Saya menggunakan Theos untuk ini. Anda harus menginstalnya dan mengatur variabel lingkungan yang sesuai, dll, serta melakukan konfigurasi. Info tentang itu di sini.
Dukungan ARM64 diaktifkan secara default dan jika Anda memerlukan bantuan untuk mengaturnya, periksa di sini.
Saya menggunakan fork of theos saya sendiri, yang pada gilirannya merupakan fork dari fork @ rpetrich.
Jika Anda mengedit Makefile, Anda dapat menentukan ip perangkat iOS Anda dan sejenisnya untuk dibuat dan dijalankan menggunakan make package install
. Kalau tidak, Anda cukup make package
untuk menghasilkan file .deb dan menginstalnya dengan cara apa pun.
Benar-benar gratis! Jika Anda ingin mendukung kelanjutan proyek ini (dan lainnya!), silakan berdonasi! Itu akan sangat dihargai :D
Cukup banyak lisensi BSD, tapi jangan dikemas ulang dan tolong sebut saja milik Anda sendiri!
Selain itu, jika Anda melakukan beberapa perubahan, jangan ragu untuk membuat permintaan tarik dan membantu menjadikannya lebih hebat!
Jangan ragu untuk mengikuti saya di twitter: @b3ll!
Meskipun saya tidak terlalu suka menangani permintaan dukungan di sana...
Travis Beckham untuk gambar mobil yang divektorkan!