diff --git a/Build.xcconfig b/Build.xcconfig index 586d5002d8..700254f692 100644 --- a/Build.xcconfig +++ b/Build.xcconfig @@ -2,7 +2,7 @@ // https://help.apple.com/xcode/#/dev745c5c974 MARKETING_VERSION = 2.2.0 -CURRENT_PROJECT_VERSION = 2794 +CURRENT_PROJECT_VERSION = 2795 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) GLES_SILENCE_DEPRECATION=1 diff --git a/Cores/CrabEMU b/Cores/CrabEMU index bfade1841f..dbce6b26e3 160000 --- a/Cores/CrabEMU +++ b/Cores/CrabEMU @@ -1 +1 @@ -Subproject commit bfade1841f1ba0890c4de7d56fdaab64bb0967a6 +Subproject commit dbce6b26e39d315fb4b8e2ab5603d2e1c5ec4aa5 diff --git a/Cores/FreeIntv/PVFreeIntv.xcodeproj/project.pbxproj b/Cores/FreeIntv/PVFreeIntv.xcodeproj/project.pbxproj index a336d99c76..43ad3e8e3f 100644 --- a/Cores/FreeIntv/PVFreeIntv.xcodeproj/project.pbxproj +++ b/Cores/FreeIntv/PVFreeIntv.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 55; objects = { /* Begin PBXBuildFile section */ @@ -39,9 +39,10 @@ B37CE7BF293F280D0010B746 /* file_path.c in Sources */ = {isa = PBXBuildFile; fileRef = B37CE781293F27870010B746 /* file_path.c */; }; B39768F82859E23200558958 /* libFreeIntv-libretro.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B3344BC32859E088006E6B3A /* libFreeIntv-libretro.a */; }; B3A41BED286E76330054E9A5 /* PVLibRetro.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3A41BEC286E76330054E9A5 /* PVLibRetro.framework */; }; - B3C7621D20783243009950E4 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7621C20783243009950E4 /* OpenGLES.framework */; }; + B3C7621D20783243009950E4 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7621C20783243009950E4 /* OpenGLES.framework */; platformFilters = (driverkit, ios, tvos, watchos, ); }; B3C7621F2078325C009950E4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7621E2078325C009950E4 /* Foundation.framework */; }; B3C7622220783297009950E4 /* PVSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C7622120783297009950E4 /* PVSupport.framework */; }; + B3C998B629432E020024D2A2 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3C998B529432E020024D2A2 /* OpenGL.framework */; platformFilters = (maccatalyst, macos, ); }; B3EBB1FD2872B1A000EAEB37 /* libFreeIntv.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B30178D3207C901D0051B93D /* libFreeIntv.a */; }; /* End PBXBuildFile section */ @@ -208,6 +209,7 @@ B3C7621C20783243009950E4 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; B3C7621E2078325C009950E4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; B3C7622120783297009950E4 /* PVSupport.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PVSupport.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B3C998B529432E020024D2A2 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk/System/Library/Frameworks/OpenGL.framework; sourceTree = DEVELOPER_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -239,6 +241,7 @@ B39768F82859E23200558958 /* libFreeIntv-libretro.a in Frameworks */, B339468920783F41008DBAB4 /* libpthread.tbd in Frameworks */, B3C7622220783297009950E4 /* PVSupport.framework in Frameworks */, + B3C998B629432E020024D2A2 /* OpenGL.framework in Frameworks */, B3C7621F2078325C009950E4 /* Foundation.framework in Frameworks */, B3C7621D20783243009950E4 /* OpenGLES.framework in Frameworks */, B3A41BED286E76330054E9A5 /* PVLibRetro.framework in Frameworks */, @@ -579,6 +582,7 @@ B3C7621B20783242009950E4 /* Frameworks */ = { isa = PBXGroup; children = ( + B3C998B529432E020024D2A2 /* OpenGL.framework */, B3A41BEF286E76490054E9A5 /* PVLibRetro.framework */, B3A41BEC286E76330054E9A5 /* PVLibRetro.framework */, B39769172859E3AD00558958 /* CoreFoundation.framework */, diff --git a/Cores/FreeIntv/PVFreeIntvCore/PVFreeIntvCore.mm b/Cores/FreeIntv/PVFreeIntvCore/PVFreeIntvCore.mm index 94fd54ac7e..7658b99d49 100644 --- a/Cores/FreeIntv/PVFreeIntvCore/PVFreeIntvCore.mm +++ b/Cores/FreeIntv/PVFreeIntvCore/PVFreeIntvCore.mm @@ -143,7 +143,11 @@ - (GLenum)pixelType { - (GLenum)internalPixelFormat { // TODO: use struct retro_pixel_format var, set with, RETRO_ENVIRONMENT_SET_PIXEL_FORMAT +#if !TARGET_OS_MAC && !TARGET_OS_MACCATALYST return GL_RGB565; +#else + return GL_UNSIGNED_SHORT_5_6_5; +#endif } diff --git a/Provenance Tests/Provenance_Tests-Prefix.pch b/Provenance Tests/Provenance_Tests-Prefix.pch index 4f4f07e72a..dc94735682 100644 --- a/Provenance Tests/Provenance_Tests-Prefix.pch +++ b/Provenance Tests/Provenance_Tests-Prefix.pch @@ -5,6 +5,10 @@ #import #ifdef __OBJC__ + #if __has_include() #import + #else + #import + #endif #import #endif diff --git a/Provenance.xcodeproj/project.pbxproj b/Provenance.xcodeproj/project.pbxproj index e2245b7a06..870e4edc12 100644 --- a/Provenance.xcodeproj/project.pbxproj +++ b/Provenance.xcodeproj/project.pbxproj @@ -439,16 +439,16 @@ B37B71AE278E3198005FB278 /* UIViewController+Alerts.swift in Sources */ = {isa = PBXBuildFile; fileRef = B37B71AC278E3198005FB278 /* UIViewController+Alerts.swift */; }; B37B71B0278E33B9005FB278 /* MenuButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B37B71AF278E33B9005FB278 /* MenuButton.swift */; }; B37B71B1278E33B9005FB278 /* MenuButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B37B71AF278E33B9005FB278 /* MenuButton.swift */; }; - B37CE666293F23B60010B746 /* PVDosBox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE665293F23B60010B746 /* PVDosBox.framework */; }; - B37CE667293F23B60010B746 /* PVDosBox.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE665293F23B60010B746 /* PVDosBox.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - B37CE669293F23C20010B746 /* PVVecX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE668293F23C20010B746 /* PVVecX.framework */; }; - B37CE66A293F23C30010B746 /* PVVecX.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE668293F23C20010B746 /* PVVecX.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B37CE666293F23B60010B746 /* PVDosBox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE665293F23B60010B746 /* PVDosBox.framework */; platformFilters = (ios, tvos, ); }; + B37CE667293F23B60010B746 /* PVDosBox.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE665293F23B60010B746 /* PVDosBox.framework */; platformFilters = (ios, tvos, ); settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B37CE669293F23C20010B746 /* PVVecX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE668293F23C20010B746 /* PVVecX.framework */; platformFilters = (ios, tvos, ); }; + B37CE66A293F23C30010B746 /* PVVecX.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE668293F23C20010B746 /* PVVecX.framework */; platformFilters = (ios, tvos, ); settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B37CE66F293F23F70010B746 /* PVfMSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE66E293F23F70010B746 /* PVfMSX.framework */; }; B37CE670293F23F70010B746 /* PVfMSX.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE66E293F23F70010B746 /* PVfMSX.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B37CE7C1293F287D0010B746 /* PVFreeIntv.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE7C0293F287D0010B746 /* PVFreeIntv.framework */; }; B37CE7C2293F287D0010B746 /* PVFreeIntv.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE7C0293F287D0010B746 /* PVFreeIntv.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - B37CE7C8293F29AD0010B746 /* PVFreeDO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE7C6293F29AB0010B746 /* PVFreeDO.framework */; }; - B37CE7C9293F29AD0010B746 /* PVFreeDO.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE7C6293F29AB0010B746 /* PVFreeDO.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B37CE7C8293F29AD0010B746 /* PVFreeDO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE7C6293F29AB0010B746 /* PVFreeDO.framework */; platformFilters = (ios, tvos, ); }; + B37CE7C9293F29AD0010B746 /* PVFreeDO.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B37CE7C6293F29AB0010B746 /* PVFreeDO.framework */; platformFilters = (ios, tvos, ); settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B37D30B527BCD82B00C01114 /* Moveable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B37D30B427BCD82B00C01114 /* Moveable.swift */; }; B381A27C292639E400305322 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B381A27B292639E200305322 /* UIKit.framework */; }; B382C635278E5055007E61FE /* PVEmulatorViewController+Audio.swift in Sources */ = {isa = PBXBuildFile; fileRef = B382C632278E5054007E61FE /* PVEmulatorViewController+Audio.swift */; }; @@ -521,12 +521,12 @@ B3AB37442187F569009D9244 /* PVNESControllerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3AB37302187F568009D9244 /* PVNESControllerViewController.swift */; }; B3AB37452187F569009D9244 /* PVAtari7800ControllerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3AB37312187F568009D9244 /* PVAtari7800ControllerViewController.swift */; }; B3AE1F762073504400AD06D4 /* PVSaveStateCollectionViewCell~tvOS.xib in Resources */ = {isa = PBXBuildFile; fileRef = B3AE1F752073504400AD06D4 /* PVSaveStateCollectionViewCell~tvOS.xib */; }; - B3AEDE1C293F2FF10050BDB6 /* PVPlay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B313544926E4C3B90047F338 /* PVPlay.framework */; }; - B3AEDE1D293F2FF10050BDB6 /* PVPlay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B313544926E4C3B90047F338 /* PVPlay.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - B3AEDE20293F34250050BDB6 /* PVReicast.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B316B4D12192652000693472 /* PVReicast.framework */; }; - B3AEDE21293F34260050BDB6 /* PVReicast.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B316B4D12192652000693472 /* PVReicast.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - B3AEDE22293F34370050BDB6 /* PVCrabEmu.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B305F103276B6BBD003AE510 /* PVCrabEmu.framework */; }; - B3AEDE23293F34380050BDB6 /* PVCrabEmu.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B305F103276B6BBD003AE510 /* PVCrabEmu.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3AEDE1C293F2FF10050BDB6 /* PVPlay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B313544926E4C3B90047F338 /* PVPlay.framework */; platformFilters = (ios, tvos, ); }; + B3AEDE1D293F2FF10050BDB6 /* PVPlay.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B313544926E4C3B90047F338 /* PVPlay.framework */; platformFilters = (ios, tvos, ); settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3AEDE20293F34250050BDB6 /* PVReicast.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B316B4D12192652000693472 /* PVReicast.framework */; platformFilters = (ios, tvos, ); }; + B3AEDE21293F34260050BDB6 /* PVReicast.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B316B4D12192652000693472 /* PVReicast.framework */; platformFilters = (ios, tvos, ); settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3AEDE22293F34370050BDB6 /* PVCrabEmu.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B305F103276B6BBD003AE510 /* PVCrabEmu.framework */; platformFilters = (ios, tvos, ); }; + B3AEDE23293F34380050BDB6 /* PVCrabEmu.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B305F103276B6BBD003AE510 /* PVCrabEmu.framework */; platformFilters = (ios, tvos, ); settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B3AEDE25293F34740050BDB6 /* PVProSystem.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3AEDE24293F34740050BDB6 /* PVProSystem.framework */; }; B3AEDE26293F34760050BDB6 /* PVProSystem.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3AEDE24293F34740050BDB6 /* PVProSystem.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B3AEDE28293F34B30050BDB6 /* PVPicoDrive.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3AEDE27293F34B30050BDB6 /* PVPicoDrive.framework */; }; @@ -597,8 +597,8 @@ B3DB11AB205C7F7B00A6E845 /* UIView+Theming.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3DB11AA205C7F7B00A6E845 /* UIView+Theming.swift */; }; B3DB11AD205C973F00A6E845 /* PVCoresTableViewContorller.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3DB11AC205C973E00A6E845 /* PVCoresTableViewContorller.swift */; }; B3DB11AE205C973F00A6E845 /* PVCoresTableViewContorller.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3DB11AC205C973E00A6E845 /* PVCoresTableViewContorller.swift */; }; - B3DEEF922942F92C00A6957C /* PVBliss.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3DEEF912942F92C00A6957C /* PVBliss.framework */; }; - B3DEEF932942F92C00A6957C /* PVBliss.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3DEEF912942F92C00A6957C /* PVBliss.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B3DEEF922942F92C00A6957C /* PVBliss.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3DEEF912942F92C00A6957C /* PVBliss.framework */; platformFilters = (ios, tvos, ); }; + B3DEEF932942F92C00A6957C /* PVBliss.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3DEEF912942F92C00A6957C /* PVBliss.framework */; platformFilters = (ios, tvos, ); settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B3E21D6E203211BE009939D3 /* IndexRequestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3E21D6D203211BE009939D3 /* IndexRequestHandler.swift */; }; B3E21D72203211BE009939D3 /* Spotlight.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = B3E21D6B203211BE009939D3 /* Spotlight.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; B3E3B5D9202ED84100A11871 /* PVGameLibraryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3E3B5D8202ED84100A11871 /* PVGameLibraryViewController.swift */; }; diff --git a/Provenance/Categories/MBProgressHUD.h b/Provenance/Categories/MBProgressHUD.h index 032552b40e..72411edb59 100644 --- a/Provenance/Categories/MBProgressHUD.h +++ b/Provenance/Categories/MBProgressHUD.h @@ -27,7 +27,11 @@ // THE SOFTWARE. #import +#if __has_include() #import +#else +#import +#endif #import @protocol MBProgressHUDDelegate; diff --git a/Provenance/Categories/UIDevice+Hardware.h b/Provenance/Categories/UIDevice+Hardware.h index f7989d3199..3b2cdbb533 100644 --- a/Provenance/Categories/UIDevice+Hardware.h +++ b/Provenance/Categories/UIDevice+Hardware.h @@ -6,6 +6,7 @@ // Copyright © 2016 James Addyman. All rights reserved. // +#if __has_include() #import // These are private/undocumented API, so we need to expose them here @@ -21,3 +22,4 @@ @property (class, readonly, assign) BOOL hasTapticMotor; @end +#endif diff --git a/Provenance/Categories/UIDevice+Hardware.m b/Provenance/Categories/UIDevice+Hardware.m index 4b8926d38c..03dac6c4ab 100644 --- a/Provenance/Categories/UIDevice+Hardware.m +++ b/Provenance/Categories/UIDevice+Hardware.m @@ -6,6 +6,7 @@ // Copyright © 2016 James Addyman. All rights reserved. // +#if __has_include() #import "UIDevice+Hardware.h" #include @@ -50,3 +51,4 @@ + (BOOL)hasTapticMotor } @end +#endif diff --git a/Provenance/Categories/UIImage+ImageEffects.h b/Provenance/Categories/UIImage+ImageEffects.h index d92790db5a..5be26baeb5 100644 --- a/Provenance/Categories/UIImage+ImageEffects.h +++ b/Provenance/Categories/UIImage+ImageEffects.h @@ -93,6 +93,7 @@ 5/3/2013 */ +#if __has_include() @import UIKit; @interface UIImage (ImageEffects) @@ -105,3 +106,4 @@ - (UIImage *)applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintColor saturationDeltaFactor:(CGFloat)saturationDeltaFactor maskImage:(UIImage *)maskImage; @end +#endif diff --git a/Provenance/Categories/UIImage+ImageEffects.m b/Provenance/Categories/UIImage+ImageEffects.m index 195eb1f264..2020f8841f 100644 --- a/Provenance/Categories/UIImage+ImageEffects.m +++ b/Provenance/Categories/UIImage+ImageEffects.m @@ -93,6 +93,7 @@ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 5/3/2013 */ +#if __has_include() #import "UIImage+ImageEffects.h" @import Accelerate; @@ -277,3 +278,4 @@ - (UIImage *)applyBlurWithRadius:(CGFloat)blurRadius tintColor:(UIColor *)tintCo @end +#endif diff --git a/Provenance/Controller/JSDPad.swift b/Provenance/Controller/JSDPad.swift index 4ba0256ddb..2bf135557d 100644 --- a/Provenance/Controller/JSDPad.swift +++ b/Provenance/Controller/JSDPad.swift @@ -7,6 +7,7 @@ // import PVSupport +#if canImport(UIKit) import UIKit enum JSDPadDirection: Int, CaseIterable { @@ -304,3 +305,4 @@ final class JSDPad: MovableButtonView { } } } +#endif diff --git a/Provenance/Controller/PVButtonGroupOverlayView.swift b/Provenance/Controller/PVButtonGroupOverlayView.swift index b75161cbb6..37c3873aea 100644 --- a/Provenance/Controller/PVButtonGroupOverlayView.swift +++ b/Provenance/Controller/PVButtonGroupOverlayView.swift @@ -6,7 +6,11 @@ // Copyright (c) 2018 Joe Mattiello. All rights reserved. // +#if canImport(UIKIt) import UIKit +#else +import AppKit +#endif final class PVButtonGroupOverlayView: MovableButtonView { var buttons = [JSButton]() diff --git a/Provenance/Emulator/PVGLViewController/PVGCVRViewController.h b/Provenance/Emulator/PVGLViewController/PVGCVRViewController.h index fe8fa59014..03fd31bbb9 100644 --- a/Provenance/Emulator/PVGLViewController/PVGCVRViewController.h +++ b/Provenance/Emulator/PVGLViewController/PVGCVRViewController.h @@ -6,7 +6,11 @@ // Copyright © 2018 Tom Kidd. All rights reserved. // +#if __has_include() #import +#else +#import +#endif // TODO: Use newer SDK // https://developers.google.com/cardboard/develop/ios/quickstart diff --git a/Provenance/Provenance-Prefix.pch b/Provenance/Provenance-Prefix.pch index 2ae40cf90b..2070e33cc1 100644 --- a/Provenance/Provenance-Prefix.pch +++ b/Provenance/Provenance-Prefix.pch @@ -5,7 +5,11 @@ #import #ifdef __OBJC__ +#if __has_include() #import +#else + #import +#endif #import #import #endif diff --git a/Provenance/Utilities/PVLogViewController.h b/Provenance/Utilities/PVLogViewController.h index e0557188eb..675a83dee2 100644 --- a/Provenance/Utilities/PVLogViewController.h +++ b/Provenance/Utilities/PVLogViewController.h @@ -6,7 +6,11 @@ // Copyright © 2015 Joe Mattiello. All rights reserved. // +#if __has_include() @import UIKit; +#else +@import AppKit; +#endif @import PVSupport; @import CocoaLumberjack; //#import