From 5f75d980a959526649a0bccde76cf9de6fcd2742 Mon Sep 17 00:00:00 2001 From: va2ron1 Date: Thu, 22 Jun 2017 20:10:10 -0400 Subject: [PATCH 1/2] no warnings and now is supported from 9.3 and up --- GC4iOS.xcodeproj/project.pbxproj | 32 +-- GC4iOS/AppDelegate.m | 4 +- .../AppIcon.appiconset/AppIcon29x29.png | Bin 3839 -> 0 bytes .../AppIcon.appiconset/AppIcon29x29@2x-1.png | Bin 5227 -> 0 bytes .../AppIcon.appiconset/AppIcon29x29@2x.png | Bin 5227 -> 0 bytes .../AppIcon.appiconset/Contents.json | 20 ++ .../AppIconDebug.appiconset/Contents.json | 20 ++ GC4iOS/Base.lproj/Main.storyboard | 29 ++- GC4iOS/Info.plist | 2 +- GC4iOS/UI/EmulatorViewController.mm | 4 + GC4iOS/UI/RomTableViewController.m | 4 + GC4iOS/Utilities/Misc/RBVolumeButtons.h | 20 -- GC4iOS/Utilities/Misc/RBVolumeButtons.m | 208 ------------------ 13 files changed, 81 insertions(+), 262 deletions(-) delete mode 100644 GC4iOS/Assets.xcassets/AppIcon.appiconset/AppIcon29x29.png delete mode 100644 GC4iOS/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x-1.png delete mode 100644 GC4iOS/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png delete mode 100755 GC4iOS/Utilities/Misc/RBVolumeButtons.h delete mode 100755 GC4iOS/Utilities/Misc/RBVolumeButtons.m diff --git a/GC4iOS.xcodeproj/project.pbxproj b/GC4iOS.xcodeproj/project.pbxproj index 7b01d5a..46e3926 100644 --- a/GC4iOS.xcodeproj/project.pbxproj +++ b/GC4iOS.xcodeproj/project.pbxproj @@ -19,7 +19,6 @@ CA418E061D09BEA2001B7664 /* RomTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CA418DFE1D09BEA2001B7664 /* RomTableViewController.m */; }; CA418E181D09BEB9001B7664 /* MHWDirectoryWatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = CA418E0A1D09BEB9001B7664 /* MHWDirectoryWatcher.m */; }; CA418E191D09BEB9001B7664 /* NSString+CompareToVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = CA418E0D1D09BEB9001B7664 /* NSString+CompareToVersion.m */; }; - CA418E1A1D09BEB9001B7664 /* RBVolumeButtons.m in Sources */ = {isa = PBXBuildFile; fileRef = CA418E0F1D09BEB9001B7664 /* RBVolumeButtons.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; CA418E1B1D09BEB9001B7664 /* UIDevice+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = CA418E111D09BEB9001B7664 /* UIDevice+Private.m */; }; CA418E1C1D09BEB9001B7664 /* UIViewController+BackButtonHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = CA418E141D09BEB9001B7664 /* UIViewController+BackButtonHandler.m */; }; CA418E411D09BEE2001B7664 /* gcpad_a@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CA418E211D09BEE2001B7664 /* gcpad_a@2x.png */; }; @@ -132,8 +131,6 @@ CA418E0A1D09BEB9001B7664 /* MHWDirectoryWatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MHWDirectoryWatcher.m; sourceTree = ""; }; CA418E0C1D09BEB9001B7664 /* NSString+CompareToVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+CompareToVersion.h"; sourceTree = ""; }; CA418E0D1D09BEB9001B7664 /* NSString+CompareToVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+CompareToVersion.m"; sourceTree = ""; }; - CA418E0E1D09BEB9001B7664 /* RBVolumeButtons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RBVolumeButtons.h; sourceTree = ""; }; - CA418E0F1D09BEB9001B7664 /* RBVolumeButtons.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RBVolumeButtons.m; sourceTree = ""; }; CA418E101D09BEB9001B7664 /* UIDevice+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIDevice+Private.h"; sourceTree = ""; }; CA418E111D09BEB9001B7664 /* UIDevice+Private.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIDevice+Private.m"; sourceTree = ""; }; CA418E121D09BEB9001B7664 /* UITapticEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UITapticEngine.h; sourceTree = ""; }; @@ -343,8 +340,6 @@ children = ( CA418E0C1D09BEB9001B7664 /* NSString+CompareToVersion.h */, CA418E0D1D09BEB9001B7664 /* NSString+CompareToVersion.m */, - CA418E0E1D09BEB9001B7664 /* RBVolumeButtons.h */, - CA418E0F1D09BEB9001B7664 /* RBVolumeButtons.m */, CA418E101D09BEB9001B7664 /* UIDevice+Private.h */, CA418E111D09BEB9001B7664 /* UIDevice+Private.m */, CA418E121D09BEB9001B7664 /* UITapticEngine.h */, @@ -645,12 +640,12 @@ isa = PBXProject; attributes = { CLASSPREFIX = GC4iOS; - LastUpgradeCheck = 0800; + LastUpgradeCheck = 0820; ORGANIZATIONNAME = GC4iOS; TargetAttributes = { CAB6604E1D09B9D600037854 = { CreatedOnToolsVersion = 7.3; - DevelopmentTeam = EYJDE3N63W; + DevelopmentTeam = 6WXZ7X2MFT; }; CAB660671D09B9D600037854 = { CreatedOnToolsVersion = 7.3; @@ -754,7 +749,6 @@ CA418E011D09BEA2001B7664 /* GCAdapteriOS.cpp in Sources */, CA418E001D09BEA2001B7664 /* DolphinGame.m in Sources */, CA418E1B1D09BEB9001B7664 /* UIDevice+Private.m in Sources */, - CA418E1A1D09BEB9001B7664 /* RBVolumeButtons.m in Sources */, CA418E051D09BEA2001B7664 /* GameTableView.m in Sources */, CA418E191D09BEB9001B7664 /* NSString+CompareToVersion.m in Sources */, ); @@ -825,8 +819,10 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -848,7 +844,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; + IPHONEOS_DEPLOYMENT_TARGET = 9.3; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -870,8 +866,10 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -887,7 +885,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; + IPHONEOS_DEPLOYMENT_TARGET = 9.3; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -898,14 +896,11 @@ CAB6607D1D09B9D600037854 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - "$(ARCHS_STANDARD)", - arm64, - ); ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon${BUNDLE_ICON_SET_SUFFIX}"; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/GC4iOS/Supporting Files/Entitlements.plist"; CODE_SIGN_IDENTITY = "iPhone Developer"; + DEVELOPMENT_TEAM = 6WXZ7X2MFT; ENABLE_BITCODE = NO; GCC_OPTIMIZATION_LEVEL = fast; HEADER_SEARCH_PATHS = ( @@ -913,7 +908,7 @@ "$(SRCROOT)/Dolphin/Include", ); INFOPLIST_FILE = GC4iOS/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; + IPHONEOS_DEPLOYMENT_TARGET = 9.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -929,22 +924,19 @@ CAB6607E1D09B9D600037854 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - "$(ARCHS_STANDARD)", - arm64, - ); ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon${BUNDLE_ICON_SET_SUFFIX}"; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/GC4iOS/Supporting Files/Entitlements.plist"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEVELOPMENT_TEAM = 6WXZ7X2MFT; ENABLE_BITCODE = NO; HEADER_SEARCH_PATHS = ( "$(SRCROOT)/GC4iOS", "$(SRCROOT)/Dolphin/Include", ); INFOPLIST_FILE = GC4iOS/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; + IPHONEOS_DEPLOYMENT_TARGET = 9.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", diff --git a/GC4iOS/AppDelegate.m b/GC4iOS/AppDelegate.m index dcd2019..1e49434 100644 --- a/GC4iOS/AppDelegate.m +++ b/GC4iOS/AppDelegate.m @@ -3,7 +3,6 @@ // Refer to the license.txt provided #import "AppDelegate.h" -#import "LZMAExtractor.h" @implementation AppDelegate @@ -16,8 +15,7 @@ - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(N attributes:nil error:nil]; } - [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; - [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; + [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; syscall(26, -1, 0, 0, 0); //Allows mapping executable pages for JIT return YES; } diff --git a/GC4iOS/Assets.xcassets/AppIcon.appiconset/AppIcon29x29.png b/GC4iOS/Assets.xcassets/AppIcon.appiconset/AppIcon29x29.png deleted file mode 100644 index db7be57541bfa17be43ffc8ab4d059fc3f9ecbce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3839 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 BXFLD^ diff --git a/GC4iOS/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x-1.png b/GC4iOS/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x-1.png deleted file mode 100644 index e6c379a6fdfc164dc6bcd21f4b2e8f3ef09e738f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5227 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 - + + + + + - + + @@ -13,9 +17,9 @@ - + - + @@ -32,15 +36,15 @@ - + - + - - + + - + @@ -57,4 +61,9 @@ + + + + + diff --git a/GC4iOS/Info.plist b/GC4iOS/Info.plist index beda2e6..6b711ba 100644 --- a/GC4iOS/Info.plist +++ b/GC4iOS/Info.plist @@ -31,7 +31,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.1.3 + 0.1.4 CFBundleSignature ???? CFBundleVersion diff --git a/GC4iOS/UI/EmulatorViewController.mm b/GC4iOS/UI/EmulatorViewController.mm index 5be7769..020a19f 100644 --- a/GC4iOS/UI/EmulatorViewController.mm +++ b/GC4iOS/UI/EmulatorViewController.mm @@ -130,4 +130,8 @@ - (void)didReceiveMemoryWarning [super didReceiveMemoryWarning]; } +-(UIStatusBarStyle)preferredStatusBarStyle{ + return UIStatusBarStyleLightContent; +} + @end diff --git a/GC4iOS/UI/RomTableViewController.m b/GC4iOS/UI/RomTableViewController.m index 2b9ca19..a10bf44 100644 --- a/GC4iOS/UI/RomTableViewController.m +++ b/GC4iOS/UI/RomTableViewController.m @@ -141,4 +141,8 @@ - (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*) } } +-(UIStatusBarStyle)preferredStatusBarStyle{ + return UIStatusBarStyleLightContent; +} + @end diff --git a/GC4iOS/Utilities/Misc/RBVolumeButtons.h b/GC4iOS/Utilities/Misc/RBVolumeButtons.h deleted file mode 100755 index 673204d..0000000 --- a/GC4iOS/Utilities/Misc/RBVolumeButtons.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// RBVolumeButtons.h -// VolumeSnap -// -// Created by Randall Brown on 11/17/11. -// Copyright (c) 2011 __MyCompanyName__. All rights reserved. -// - -#import - -@interface RBVolumeButtons : NSObject - -@property (nonatomic, copy) dispatch_block_t upBlock; -@property (nonatomic, copy) dispatch_block_t downBlock; -@property (nonatomic, readonly) float launchVolume; - -- (void)startStealingVolumeButtonEvents; -- (void)stopStealingVolumeButtonEvents; - -@end diff --git a/GC4iOS/Utilities/Misc/RBVolumeButtons.m b/GC4iOS/Utilities/Misc/RBVolumeButtons.m deleted file mode 100755 index 8d19a03..0000000 --- a/GC4iOS/Utilities/Misc/RBVolumeButtons.m +++ /dev/null @@ -1,208 +0,0 @@ -// -// RBVolumeButtons.m -// VolumeSnap -// -// Created by Randall Brown on 11/17/11. -// Copyright (c) 2011 __MyCompanyName__. All rights reserved. -// - -#import "RBVolumeButtons.h" -#import -#import - -@interface RBVolumeButtons() - -@property (nonatomic) BOOL isStealingVolumeButtons; -@property (nonatomic) BOOL hadToLowerVolume; -@property (nonatomic) BOOL hadToRaiseVolume; -@property (nonatomic) BOOL suspended; -@property (nonatomic, readwrite) float launchVolume; -@property (nonatomic, retain) UIView *volumeView; - -@end - -@implementation RBVolumeButtons - -static void volumeListenerCallback ( - void *inClientData, - AudioSessionPropertyID inID, - UInt32 inDataSize, - const void *inData - ){ - const float *volumePointer = inData; - float volume = *volumePointer; - - if (volume > [(RBVolumeButtons*)inClientData launchVolume]) - { - [(RBVolumeButtons*)inClientData volumeUp]; - } - else if (volume < [(RBVolumeButtons*)inClientData launchVolume]) - { - [(RBVolumeButtons*)inClientData volumeDown]; - } -} - -- (void)volumeDown -{ - AudioSessionRemovePropertyListenerWithUserData(kAudioSessionProperty_CurrentHardwareOutputVolume, volumeListenerCallback, self); - - [[MPMusicPlayerController applicationMusicPlayer] setVolume:self.launchVolume]; - - [self performSelector:@selector(initializeVolumeButtonStealer) withObject:self afterDelay:0.1]; - - if (self.downBlock) - { - self.downBlock(); - } -} - -- (void)volumeUp -{ - AudioSessionRemovePropertyListenerWithUserData(kAudioSessionProperty_CurrentHardwareOutputVolume, volumeListenerCallback, self); - - [[MPMusicPlayerController applicationMusicPlayer] setVolume:self.launchVolume]; - - [self performSelector:@selector(initializeVolumeButtonStealer) withObject:self afterDelay:0.1]; - - if (self.upBlock) - { - self.upBlock(); - } -} - -- (void)startStealingVolumeButtonEvents -{ - dispatch_async(dispatch_get_main_queue(), ^{ - NSAssert([[NSThread currentThread] isMainThread], @"This must be called from the main thread"); - - if (self.isStealingVolumeButtons) - { - return; - } - - self.isStealingVolumeButtons = YES; - - AudioSessionInitialize(NULL, NULL, NULL, NULL); - - //const UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord; - //AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory); - - AudioSessionSetActive(YES); - - self.launchVolume = [[MPMusicPlayerController applicationMusicPlayer] volume]; - self.hadToLowerVolume = self.launchVolume == 1.0; - self.hadToRaiseVolume = self.launchVolume == 0.0; - - // Avoid flashing the volume indicator - if (self.hadToLowerVolume || self.hadToRaiseVolume) - { - dispatch_async(dispatch_get_main_queue(), ^{ - if (self.hadToLowerVolume) - { - [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.95]; - self.launchVolume = 0.95; - } - - if (self.hadToRaiseVolume) - { - [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.05]; - self.launchVolume = 0.05; - } - }); - } - - CGRect frame = CGRectMake(0, -100, 10, 0); - self.volumeView = [[[MPVolumeView alloc] initWithFrame:frame] autorelease]; - [self.volumeView sizeToFit]; - [[[[UIApplication sharedApplication] windows] firstObject] insertSubview:self.volumeView atIndex:0]; - - [self initializeVolumeButtonStealer]; - - if (!self.suspended) - { - // Observe notifications that trigger suspend - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(suspendStealingVolumeButtonEvents:) - name:UIApplicationWillResignActiveNotification // -> Inactive - object:nil]; - - // Observe notifications that trigger resume - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(resumeStealingVolumeButtonEvents:) - name:UIApplicationDidBecomeActiveNotification // <- Active - object:nil]; - } - }); -} - -- (void)suspendStealingVolumeButtonEvents:(NSNotification *)notification -{ - if (self.isStealingVolumeButtons) - { - self.suspended = YES; // Call first! - [self stopStealingVolumeButtonEvents]; - } -} - -- (void)resumeStealingVolumeButtonEvents:(NSNotification *)notification -{ - if (self.suspended) - { - [self startStealingVolumeButtonEvents]; - self.suspended = NO; // Call last! - } -} - -- (void)stopStealingVolumeButtonEvents -{ - dispatch_async(dispatch_get_main_queue(), ^{ - NSAssert([[NSThread currentThread] isMainThread], @"This must be called from the main thread"); - - if (!self.isStealingVolumeButtons) - { - return; - } - - // Stop observing all notifications - if (!self.suspended) - { - [[NSNotificationCenter defaultCenter] removeObserver:self]; - } - - AudioSessionRemovePropertyListenerWithUserData(kAudioSessionProperty_CurrentHardwareOutputVolume, volumeListenerCallback, self); - - if (self.hadToLowerVolume) - { - [[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0]; - } - - if (self.hadToRaiseVolume) - { - [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0]; - } - - [self.volumeView removeFromSuperview]; - self.volumeView = nil; - - //AudioSessionSetActive(NO); - - self.isStealingVolumeButtons = NO; - }); -} - -- (void)dealloc -{ - self.suspended = NO; - [self stopStealingVolumeButtonEvents]; - - self.upBlock = nil; - self.downBlock = nil; - [super dealloc]; -} - -- (void)initializeVolumeButtonStealer -{ - AudioSessionAddPropertyListener(kAudioSessionProperty_CurrentHardwareOutputVolume, volumeListenerCallback, self); -} - -@end From 6dfc5ad00ca16060ebcc9926ffc4c401f3a71181 Mon Sep 17 00:00:00 2001 From: va2ron1 Date: Thu, 22 Jun 2017 20:10:53 -0400 Subject: [PATCH 2/2] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 64cedf7..a5a0bc6 100644 --- a/Readme.md +++ b/Readme.md @@ -2,7 +2,7 @@ GC4iOS ======= -###### Supports iOS 8.1 and up. 64 bit devices only. +###### Supports iOS 9.3 and up. 64 bit devices only. Currently GC4iOS uses Dolphin's' PowerPC Interpreter and an OpenGL backend. Most games can be loaded and run between 3 and 20 fps.