2016-01-14 5 views
0

я пытаюсь сделать рамки, что будет работать на IOS и OS XSwift `TARGET_` Определяет не работает в рамках

Проблема я обнаружил, что в .framework«Настройка по умолчанию»TARGET_ определяет сделать не работа.

я хотел бы использовать этот код:

#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR 
    import UIKit 
#endif 
#if TARGET_OS_MAC 
    import AppKit 
#endif 

, но это не удается, поэтому я создал простой код для тестирования, а результаты не очень хорошо (для меня).

#if TARGET_OS_IPHONE 
    print("Hello iPhone") 
#elseif TARGET_OS_SIMULATOR 
    print("Hello iPhone Simulator") 
#elseif TARGET_OS_MAC 
    print("Hello OS X") 
#elseif TARGET_OS_TV 
    print("Hello  TV") 
#elseif TARGET_OS_NANO 
    print("Hello Nano!") 
#elseif TARGET_OS_EMBEDDED 
    print("Hello Embedded?") 
#else 
    print("What kind of target are you!?") 
#endif 

// Prints What kind of target are you!? 

framework.xcodeproj в проекте приложения IOS.

так я ожидал TARGET_OS_SIMULATOR

Может кто-то знает, как я могу это организовать в рамках, я не мог найти ответ на него.

Thanks in Advance

ответ

1

Нашли решение.

Использование: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html#//apple_ref/doc/uid/TP40014216-CH8-ID31

#if os(value) 
... 
#endif 

будет работать.

Поддерживаемые значения: OSX, IOS, watchOS, tvOS

Пример:

#if os(iOS) 
    print("Hello iOS") 
#elseif os(OSX) 
    print("Hello OS X") 
#elseif os(watchOS) 
    print("Hello  Watch") 
#elseif os(tvOS) 
    print("Hello  TV") 
#endif 

Я надеюсь, что это может помочь кому-то еще.

Смежные вопросы