Avec la macro C pour tvOS ajoutée à partir de Xcode 7.1 (iOS 9.1 / OS X 10.11 / watchOS 2.0 / tvOS 9.0, Apple LLVM version 7.0.0 / Apple Swift version 2.1 / clang-700.1.76 / swiftlang-700.1.101.6) Présentation de la disponibilité de l'API Swift.
TARGET_OS_TV
TargetConditionals.h
#define TARGET_OS_IPHONE            1
#define TARGET_OS_IOS               0
#define TARGET_OS_WATCH             0
#define TARGET_OS_TV                1
Défini lors de la génération de code à exécuter sur Apple TV (TARGET_OS_IPHONE vaut également 1).
Dans le cas d'iOS, il est défini comme suit.
#define TARGET_OS_IPHONE            1
#define TARGET_OS_IOS               1
#define TARGET_OS_WATCH             0
#define TARGET_OS_TV                0
__TVOS_9_0
Availability.h
#define __TVOS_9_0       90000
Définissez le numéro de version de tvOS.
__TVOS_UNAVAILABLE, __TVOS_PROHIBITED
Availability.h
#define __TVOS_UNAVAILABLE __OS_AVAILABILITY(tvos,unavailable)
#define __TVOS_PROHIBITED  __OS_AVAILABILITY(tvos,unavailable)
Les deux définissent l'indisponibilité dans tvOS.
__TVOS_AVAILABLE
Availability.h
#define __TVOS_AVAILABLE(_vers) __OS_AVAILABILITY(tvos,introduced=_vers)
Définit qu'il est disponible à partir de la version spécifiée de tvOS.
__TVOS_DEPRECATED(_start, _dep, _msg)
Availability.h
#define __TVOS_DEPRECATED(_start, _dep, _msg) __TVOS_AVAILABLE(_start) __OS_AVAILABILITY_MSG(tvos,deprecated=_dep,_msg)
Définit qu'il est disponible depuis la version de tvOS spécifiée par _start et obsolète par la version de tvOS spécifiée par _dep. Spécifiez un message indiquant une alternative avec _msg.
__TV_OS_VERSION_MIN_REQUIRED, __TV_OS_VERSION_MAX_ALLOWED
AvailabilityInternal.h
#ifndef __TV_OS_VERSION_MIN_REQUIRED
    #ifdef __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
        /* compiler sets __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ when -mtvos-version-min is used */
        #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__
        #define __TV_OS_VERSION_MAX_ALLOWED __IPHONE_9_0
        /* for compatibility with existing code.  New code should use platform specific checks */
        #define __IPHONE_OS_VERSION_MIN_REQUIRED 90000
    #endif
#endif
Définit la version tvOS minimale / maximale prise en charge par l'application.
Si vous spécifiez -mtvos-version-min, le compilateur définit sa valeur sur __TV_OS_VERSION_MIN_REQUIRED.
Swift API Availability
Spécifiez tvOS comme nom de plate-forme de # disponible.
if #available(tvOS 9.1, ..., *) {
    ...
Recommended Posts