Могу ли я разработать приложение для iOS, в котором есть ARkit для 6 и более поздних версий, но остальная часть приложения будет работать для 5-ти - PullRequest
0 голосов
/ 04 ноября 2018

я учусь в старшей школе и разрабатываю свое первое приложение для соревнований (что-то вроде хакатона), а правила гласят, что приложение должно работать на 5 и более поздних версиях и iOS 8. Я хотел бы внедрить ARKit в свой приложение для доступных устройств, но это не главное приложение, так что приложение будет хорошо без AR на 5 и 6. Можно ли запустить одно и то же приложение на этих устройствах без AR, или мне нужно сделать другое приложение для их? Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Вы можете проверить в AppDelegate, поддерживает ли устройство ARKit, проверка на iOS11 не будет работать, как вы могли бы иметь iPhone 6 на iOS11.

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
    guard ARObjectScanningConfiguration.isSupported, ARWorldTrackingConfiguration.isSupported else {

        //ARKit not supported
    }

    return true
}
0 голосов
/ 04 ноября 2018

Да, вам просто нужно проверить, используя Атрибуты декларации .

Например, при вызове чего-либо, связанного с ARKit, что означает iOS> = 11 , вы можете проверить, доступна ли версия iOS:

if #available(iOS 11.0, *) {
  // Do anything related to ARKit
} else {
  // Fallback to manipulate a workaround to ARKit
}
...