From f62a405979485fc421595d94288c508c8f863fd9 Mon Sep 17 00:00:00 2001 From: TrueZhuanjia Date: Tue, 29 Jul 2025 11:19:44 +0800 Subject: [PATCH] default osw profile for iPhone --- VoidLink.xcodeproj/project.pbxproj | 4 ++++ VoidLink/Input/CustomOSC/OSCProfilesManager.m | 8 +++++++- .../PresetConfigs/widgetTemplatesIPhone.bin | Bin 0 -> 136778 bytes 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 VoidLink/PresetConfigs/widgetTemplatesIPhone.bin diff --git a/VoidLink.xcodeproj/project.pbxproj b/VoidLink.xcodeproj/project.pbxproj index 62b899ee..b47186eb 100644 --- a/VoidLink.xcodeproj/project.pbxproj +++ b/VoidLink.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ 187F4B282E04658A00EECC59 /* WidgetPanelStackView.m in Sources */ = {isa = PBXBuildFile; fileRef = 187F4B272E04658A00EECC59 /* WidgetPanelStackView.m */; }; 1888C1922E24C33100108730 /* AboutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1888C1912E24C33100108730 /* AboutViewController.swift */; }; 1888C1932E24C41000108730 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1888C1902E24C2C800108730 /* AboutView.swift */; }; + 188973D32E386A670025E48C /* widgetTemplatesIPhone.bin in Resources */ = {isa = PBXBuildFile; fileRef = 188973D22E386A670025E48C /* widgetTemplatesIPhone.bin */; }; 189AD29A2DE7446000E24B88 /* HostCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 189AD2992DE7446000E24B88 /* HostCollectionViewController.m */; }; 840751B32BF49C050096B657 /* CustomTapGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 840751B22BF49C050096B657 /* CustomTapGestureRecognizer.m */; }; 841BAC922DE35D6B00DA639E /* ThemeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 841BAC912DE35D6B00DA639E /* ThemeManager.m */; }; @@ -139,6 +140,7 @@ 187F4B272E04658A00EECC59 /* WidgetPanelStackView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WidgetPanelStackView.m; sourceTree = ""; }; 1888C1902E24C2C800108730 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = ""; }; 1888C1912E24C33100108730 /* AboutViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutViewController.swift; sourceTree = ""; }; + 188973D22E386A670025E48C /* widgetTemplatesIPhone.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; name = widgetTemplatesIPhone.bin; path = PresetConfigs/widgetTemplatesIPhone.bin; sourceTree = ""; }; 189AD2962DE743B700E24B88 /* HostCollectionViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HostCollectionViewController.h; sourceTree = ""; }; 189AD2992DE7446000E24B88 /* HostCollectionViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HostCollectionViewController.m; sourceTree = ""; }; 18BF141D2E0D7A00009DEE4F /* VoidLink v1.0.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "VoidLink v1.0.xcdatamodel"; sourceTree = ""; }; @@ -388,6 +390,7 @@ 843667ED2D9D70A3004A7D7F /* PresetConfigs */ = { isa = PBXGroup; children = ( + 188973D22E386A670025E48C /* widgetTemplatesIPhone.bin */, 843667EF2D9D7173004A7D7F /* widgetTemplates.bin */, ); name = PresetConfigs; @@ -840,6 +843,7 @@ files = ( FB290CFE19B2C406004C83CF /* InfoPlist.strings in Resources */, FB290D0919B2C406004C83CF /* Images.xcassets in Resources */, + 188973D32E386A670025E48C /* widgetTemplatesIPhone.bin in Resources */, FB89463819F6473800339C8A /* Launch Screen.xib in Resources */, 8454AC662C31907F00F0A302 /* iPad.storyboard in Resources */, 8454AC6A2C319BDA00F0A302 /* iPhone.storyboard in Resources */, diff --git a/VoidLink/Input/CustomOSC/OSCProfilesManager.m b/VoidLink/Input/CustomOSC/OSCProfilesManager.m index ab8fd1fa..9a18105f 100644 --- a/VoidLink/Input/CustomOSC/OSCProfilesManager.m +++ b/VoidLink/Input/CustomOSC/OSCProfilesManager.m @@ -159,8 +159,14 @@ static CGRect layoutViewBounds; [[NSUserDefaults standardUserDefaults] synchronize]; } + +- (BOOL)isIPhone{ + return ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone); +} + + - (void) importDefaultTemplates{ - NSString *filePath = [[NSBundle mainBundle] pathForResource:@"widgetTemplates" ofType:@"bin"]; + NSString *filePath = [[NSBundle mainBundle] pathForResource: [self isIPhone] ? @"widgetTemplatesIPhone": @"widgetTemplates" ofType:@"bin"]; if (filePath) { // 2. 读取二进制数据 NSError *error; diff --git a/VoidLink/PresetConfigs/widgetTemplatesIPhone.bin b/VoidLink/PresetConfigs/widgetTemplatesIPhone.bin new file mode 100644 index 0000000000000000000000000000000000000000..5bb43477089d53abe4439806d4ca754a87ead2d9 GIT binary patch literal 136778 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 F0RVV4KLh{( literal 0 HcmV?d00001