diff --git a/apple/iOS/RetroArch_iOS.xcodeproj/project.pbxproj b/apple/iOS/RetroArch_iOS.xcodeproj/project.pbxproj index 90a0db44b7..f87f4f7b72 100644 --- a/apple/iOS/RetroArch_iOS.xcodeproj/project.pbxproj +++ b/apple/iOS/RetroArch_iOS.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ 501881EE184BB54C006F665D /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 501881ED184BB54C006F665D /* CoreMedia.framework */; }; 5041BAF41A9D40D000A77A33 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 963C3C33186E3DED00A6EB1E /* GameController.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; 50521A441AA23BF500185CC9 /* griffin_objc.m in Sources */ = {isa = PBXBuildFile; fileRef = 50521A431AA23BF500185CC9 /* griffin_objc.m */; }; + 50C3B1AE1AB1107200F478D3 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */; }; 50CCC828185E0E7D001F5BC8 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50CCC827185E0E7D001F5BC8 /* CoreLocation.framework */; }; 50D00E8E19D117C400EBA71E /* cc_resampler_neon.S in Sources */ = {isa = PBXBuildFile; fileRef = 50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */; }; 50E7189F184B88AA001956CE /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50E7189E184B88AA001956CE /* CoreVideo.framework */; }; @@ -45,6 +46,7 @@ 501881EB184BAD6D006F665D /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 501881ED184BB54C006F665D /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; 50521A431AA23BF500185CC9 /* griffin_objc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = griffin_objc.m; path = ../../griffin/griffin_objc.m; sourceTree = ""; }; + 50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 50CCC827185E0E7D001F5BC8 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; 50D00E8D19D117C400EBA71E /* cc_resampler_neon.S */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; name = cc_resampler_neon.S; path = ../../audio/drivers_resampler/cc_resampler_neon.S; sourceTree = ""; }; 50E7189E184B88AA001956CE /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; @@ -79,6 +81,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 50C3B1AE1AB1107200F478D3 /* QuartzCore.framework in Frameworks */, 5041BAF41A9D40D000A77A33 /* GameController.framework in Frameworks */, 696012F219F3389A006A1088 /* CoreText.framework in Frameworks */, 50CCC828185E0E7D001F5BC8 /* CoreLocation.framework in Frameworks */, @@ -149,6 +152,7 @@ 96AFAE2816C1D4EA009DE44C /* Frameworks */ = { isa = PBXGroup; children = ( + 50C3B1AD1AB1107100F478D3 /* QuartzCore.framework */, 696012F119F3389A006A1088 /* CoreText.framework */, 963C3C33186E3DED00A6EB1E /* GameController.framework */, 50CCC827185E0E7D001F5BC8 /* CoreLocation.framework */, @@ -252,7 +256,7 @@ ORGANIZATIONNAME = RetroArch; TargetAttributes = { 96AFAE2416C1D4EA009DE44C = { - DevelopmentTeam = 778HQV8ZV4; + DevelopmentTeam = YLQUB5DVUQ; }; }; }; @@ -451,8 +455,8 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LIBRARY = "libstdc++"; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; @@ -499,6 +503,7 @@ "-D_LZMA_UINT32_IS_ULONG", ); PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; VALID_ARCHS = "armv7 armv7s"; WRAPPER_EXTENSION = app; }; @@ -514,8 +519,8 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_CXX_LIBRARY = "libstdc++"; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PREFIX_HEADER = ""; @@ -599,6 +604,7 @@ "-D_LZMA_UINT32_IS_ULONG", ); PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; VALID_ARCHS = "armv7 armv7s"; WRAPPER_EXTENSION = app; }; diff --git a/apple/iOS/platform.m b/apple/iOS/platform.m index 640722a807..0131b071eb 100644 --- a/apple/iOS/platform.m +++ b/apple/iOS/platform.m @@ -284,36 +284,34 @@ static void rarch_main_event_pump(void) }while(result == kCFRunLoopRunHandledSource); } -- (void) rarch_main +- (void) rarch_draw:(id)sender { int ret = 0; - while (ret != -1) - { - rarch_main_event_pump(); - - ret = rarch_main_iterate(); - - if (ret == -1) - break; - - if (g_runloop.is_idle) - continue; -#if 0 - if (g_runloop.is_menu && !menu_display_update_pending()) - continue; -#endif - - if (g_view) - [g_view display]; - } + rarch_main_event_pump(); + + ret = rarch_main_iterate(); + + if (ret == -1) + goto exit; + + if (g_runloop.is_idle) + return; + + if (g_view) + [g_view display]; + + return; + +exit: main_exit_save_config(); main_exit(NULL); } - (void) apple_start_iteration { - [self performSelectorOnMainThread:@selector(rarch_main) withObject:nil waitUntilDone:NO]; + [[CADisplayLink displayLinkWithTarget:self + selector:@selector(rarch_draw:)] addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; } - (void) apple_stop_iteration