From df628a7bb645c2b2e53bca2106e89cf43e1c42d1 Mon Sep 17 00:00:00 2001 From: Todd Laney Date: Tue, 21 Apr 2020 10:28:15 -0700 Subject: [PATCH 1/8] added STEAMCONTROLLER_NO_SWIZZLING build options made the TestApp work with GCControllers and Steam Controllers. --- SteamController.xcodeproj/project.pbxproj | 24 ++++---- SteamController/SteamControllerManager.h | 3 + SteamController/SteamControllerManager.m | 10 +++ SteamControllerTestApp/AppDelegate.m | 2 + SteamControllerTestApp/TableViewController.m | 65 +++++++++++++++----- 5 files changed, 77 insertions(+), 27 deletions(-) diff --git a/SteamController.xcodeproj/project.pbxproj b/SteamController.xcodeproj/project.pbxproj index 5f5a171..999c636 100644 --- a/SteamController.xcodeproj/project.pbxproj +++ b/SteamController.xcodeproj/project.pbxproj @@ -424,7 +424,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -439,7 +439,7 @@ MARKETING_VERSION = 1.2; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; PRODUCT_NAME = SteamController; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -455,7 +455,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -469,7 +469,7 @@ ); MARKETING_VERSION = 1.2; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; PRODUCT_NAME = SteamController; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -485,7 +485,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -499,7 +499,7 @@ MARKETING_VERSION = 1.2; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; PRODUCT_NAME = SteamController; SDKROOT = appletvos; SKIP_INSTALL = YES; @@ -517,7 +517,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -530,7 +530,7 @@ ); MARKETING_VERSION = 1.2; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; PRODUCT_NAME = SteamController; SDKROOT = appletvos; SKIP_INSTALL = YES; @@ -657,14 +657,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; INFOPLIST_FILE = SteamControllerTestApp/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.2; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController.demoApp; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController.demoApp; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -676,14 +676,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; INFOPLIST_FILE = SteamControllerTestApp/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.2; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController.demoApp; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController.demoApp; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; }; diff --git a/SteamController/SteamControllerManager.h b/SteamController/SteamControllerManager.h index f739e92..f2da6ef 100644 --- a/SteamController/SteamControllerManager.h +++ b/SteamController/SteamControllerManager.h @@ -8,6 +8,9 @@ #import +#define STEAMCONTROLLER_NO_SWIZZLING +#define STEAMCONTROLLER_NO_PRIVATE_API + @class SteamController; NS_ASSUME_NONNULL_BEGIN diff --git a/SteamController/SteamControllerManager.m b/SteamController/SteamControllerManager.m index 8603275..36d2fa9 100644 --- a/SteamController/SteamControllerManager.m +++ b/SteamController/SteamControllerManager.m @@ -10,8 +10,14 @@ #import "SteamController.h" @import CoreBluetooth; + +#ifndef STEAMCONTROLLER_NO_SWIZZLING @import ObjectiveC.runtime; +#endif + +#ifndef STEAMCONTROLLER_NO_PRIVATE_API @import Darwin.POSIX.dlfcn; +#endif @interface SteamController (Private) - (void)didConnect; @@ -109,6 +115,9 @@ - (void)scanForControllers { } } +#pragma mark - Swizzling + +#ifndef STEAMCONTROLLER_NO_SWIZZLING + (void)load { Method m1 = class_getClassMethod([GCController class], @selector(controllers)); Method m2 = class_getClassMethod([SteamControllerManager class], @selector(controllers)); @@ -126,6 +135,7 @@ + (void)load { NSArray* steamControllers = [SteamControllerManager sharedManager].controllers; return [originalControllers arrayByAddingObjectsFromArray:steamControllers]; } +#endif @end diff --git a/SteamControllerTestApp/AppDelegate.m b/SteamControllerTestApp/AppDelegate.m index 7187242..5059f85 100644 --- a/SteamControllerTestApp/AppDelegate.m +++ b/SteamControllerTestApp/AppDelegate.m @@ -18,7 +18,9 @@ @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. +#ifndef STEAMCONTROLLER_NO_PRIVATE_API [SteamControllerManager listenForConnections]; +#endif return YES; } diff --git a/SteamControllerTestApp/TableViewController.m b/SteamControllerTestApp/TableViewController.m index f41b6b3..f8da470 100644 --- a/SteamControllerTestApp/TableViewController.m +++ b/SteamControllerTestApp/TableViewController.m @@ -20,7 +20,7 @@ @interface TableViewController () @implementation TableViewController { - NSMutableArray *controllers; + NSMutableArray *controllers; } - (void)viewDidLoad { @@ -34,8 +34,24 @@ - (void)viewDidAppear:(BOOL)animated { NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; [nc addObserver:self selector:@selector(didConnectController:) name:GCControllerDidConnectNotification object:nil]; [nc addObserver:self selector:@selector(didDisconnectController:) name:GCControllerDidDisconnectNotification object:nil]; - controllers = [SteamControllerManager sharedManager].controllers.mutableCopy; + +#ifdef STEAMCONTROLLER_NO_PRIVATE_API + [self scanForControllers:self]; +#endif + +#ifndef STEAMCONTROLLER_NO_SWIZZLING + // get all controllers (steam, MFi) with a call to GCController + controllers = GCController.controllers.mutableCopy; +#else + // need to call both SteamControllerManager and GCController + controllers = GCController.controllers.mutableCopy; + [controllers addObjectsFromArray:SteamControllerManager.sharedManager.controllers]; +#endif [self.tableView reloadData]; + + if (controllers.count == 0) { + [self scanForControllers:self]; + } } - (void)viewDidDisappear:(BOOL)animated { @@ -46,49 +62,68 @@ - (void)viewDidDisappear:(BOOL)animated { } - (void)scanForControllers:(id)sender { + [GCController startWirelessControllerDiscoveryWithCompletionHandler:nil]; [[SteamControllerManager sharedManager] scanForControllers]; } - (void)didConnectController:(NSNotification*)notification { - SteamController *controller = notification.object; - if ([controller isKindOfClass:[SteamController class]]) { + GCController *controller = notification.object; + if ([controller isKindOfClass:[GCController class]] && ![controllers containsObject:controller]) { [controllers addObject:controller]; - NSUInteger row = controllers.count - 1; - [self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:row inSection:0]] withRowAnimation:UITableViewRowAnimationAutomatic]; + [self.tableView reloadData]; } } - (void)didDisconnectController:(NSNotification*)notification { - SteamController *controller = notification.object; - NSUInteger row = [controllers indexOfObject:controller]; - if (row != NSNotFound) { - [controllers removeObjectAtIndex:row]; - [self.tableView deleteRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:row inSection:0]] withRowAnimation:UITableViewRowAnimationAutomatic]; + GCController *controller = notification.object; + if ([controller isKindOfClass:[GCController class]] && [controllers containsObject:controller]) { + [controllers removeObject:controller]; + [self.tableView reloadData]; } } #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 1; + return controllers.count; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return controllers.count; + return 1; +} + +- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { + GCController *controller = controllers[section]; + if (@available(iOS 13.0, *)) + return [NSString stringWithFormat:@"%@ (%@)", controller.vendorName, controller.productCategory]; + else + return [NSString stringWithFormat:@"%@", controller.vendorName]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { ControllerTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"controller" forIndexPath:indexPath]; - SteamController *controller = controllers[indexPath.row]; + GCController *controller = controllers[indexPath.section]; cell.controller = controller; return cell; } +- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { + if ([sender isKindOfClass:[UITableViewCell class]]) { + NSIndexPath *indexPath = [self.tableView indexPathForCell:sender]; + if (indexPath == nil) + return FALSE; + [self.tableView deselectRowAtIndexPath:indexPath animated:NO]; + return [controllers[indexPath.section] isKindOfClass:[SteamController class]]; + } + return TRUE; +} + - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.destinationViewController isKindOfClass:[DetailViewController class]] && [sender isKindOfClass:[UITableViewCell class]]) { DetailViewController *detailViewController = (DetailViewController*)segue.destinationViewController; NSIndexPath *indexPath = [self.tableView indexPathForCell:sender]; - detailViewController.steamController = indexPath ? controllers[indexPath.row] : nil; + if (indexPath != nil && [controllers[indexPath.section] isKindOfClass:[SteamController class]]) + detailViewController.steamController = (SteamController*)controllers[indexPath.section]; } } From 668cdf705e6bfbef5969754cd4212a942c88774c Mon Sep 17 00:00:00 2001 From: Todd Laney Date: Tue, 21 Apr 2020 10:33:32 -0700 Subject: [PATCH 2/8] restore BUNDLE IDENT. --- SteamController.xcodeproj/project.pbxproj | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/SteamController.xcodeproj/project.pbxproj b/SteamController.xcodeproj/project.pbxproj index 999c636..5f5a171 100644 --- a/SteamController.xcodeproj/project.pbxproj +++ b/SteamController.xcodeproj/project.pbxproj @@ -424,7 +424,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 8RUN83V8CA; + DEVELOPMENT_TEAM = UJXNDZ5TNU; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -439,7 +439,7 @@ MARKETING_VERSION = 1.2; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; PRODUCT_NAME = SteamController; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -455,7 +455,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 8RUN83V8CA; + DEVELOPMENT_TEAM = UJXNDZ5TNU; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -469,7 +469,7 @@ ); MARKETING_VERSION = 1.2; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; PRODUCT_NAME = SteamController; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -485,7 +485,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 8RUN83V8CA; + DEVELOPMENT_TEAM = UJXNDZ5TNU; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -499,7 +499,7 @@ MARKETING_VERSION = 1.2; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; PRODUCT_NAME = SteamController; SDKROOT = appletvos; SKIP_INSTALL = YES; @@ -517,7 +517,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 8RUN83V8CA; + DEVELOPMENT_TEAM = UJXNDZ5TNU; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -530,7 +530,7 @@ ); MARKETING_VERSION = 1.2; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; PRODUCT_NAME = SteamController; SDKROOT = appletvos; SKIP_INSTALL = YES; @@ -657,14 +657,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = 8RUN83V8CA; + DEVELOPMENT_TEAM = UJXNDZ5TNU; INFOPLIST_FILE = SteamControllerTestApp/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.2; - PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController.demoApp; + PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController.demoApp; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -676,14 +676,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = 8RUN83V8CA; + DEVELOPMENT_TEAM = UJXNDZ5TNU; INFOPLIST_FILE = SteamControllerTestApp/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.2; - PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController.demoApp; + PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController.demoApp; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; }; From 46ca56462688390f231273011e24ab780ecc128c Mon Sep 17 00:00:00 2001 From: Todd Laney Date: Thu, 2 Jul 2020 10:53:05 -0700 Subject: [PATCH 3/8] iOS 14 support. --- SteamController.xcodeproj/project.pbxproj | 38 ++--- .../Base.lproj/Main.storyboard | 134 +++++++++--------- SteamControllerTestApp/Info.plist | 4 +- SteamControllerTestApp/TableViewController.m | 99 ++++++++++++- 4 files changed, 185 insertions(+), 90 deletions(-) diff --git a/SteamController.xcodeproj/project.pbxproj b/SteamController.xcodeproj/project.pbxproj index 5f5a171..98abcaf 100644 --- a/SteamController.xcodeproj/project.pbxproj +++ b/SteamController.xcodeproj/project.pbxproj @@ -424,13 +424,13 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "SteamController/Info-iOS.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -439,7 +439,7 @@ MARKETING_VERSION = 1.2; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; PRODUCT_NAME = SteamController; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -455,13 +455,13 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "SteamController/Info-iOS.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -469,7 +469,7 @@ ); MARKETING_VERSION = 1.2; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; PRODUCT_NAME = SteamController; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -481,11 +481,11 @@ 2830164A21CC100F00E024C9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -499,12 +499,12 @@ MARKETING_VERSION = 1.2; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; PRODUCT_NAME = SteamController; SDKROOT = appletvos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 12.4; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -513,11 +513,11 @@ 2830164B21CC100F00E024C9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -530,12 +530,12 @@ ); MARKETING_VERSION = 1.2; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController; PRODUCT_NAME = SteamController; SDKROOT = appletvos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 12.4; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -657,14 +657,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; INFOPLIST_FILE = SteamControllerTestApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.2; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController.demoApp; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController.demoApp; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -676,14 +677,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 5; - DEVELOPMENT_TEAM = UJXNDZ5TNU; + DEVELOPMENT_TEAM = 8RUN83V8CA; INFOPLIST_FILE = SteamControllerTestApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); MARKETING_VERSION = 1.2; - PRODUCT_BUNDLE_IDENTIFIER = net.namedfork.SteamController.demoApp; + PRODUCT_BUNDLE_IDENTIFIER = com.toddla.SteamController.demoApp; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; }; diff --git a/SteamControllerTestApp/Base.lproj/Main.storyboard b/SteamControllerTestApp/Base.lproj/Main.storyboard index c2cd967..68c2335 100644 --- a/SteamControllerTestApp/Base.lproj/Main.storyboard +++ b/SteamControllerTestApp/Base.lproj/Main.storyboard @@ -1,15 +1,13 @@ - - - - + + - + - + @@ -22,11 +20,11 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - -