fix: Xcode ViewBuilder compile error — wrap NSLog in closure for iOS sheet

NSLog returns Void which doesn't conform to View in SwiftUI ViewBuilder.
Wrapped in inline closure  to avoid compilation error.
This commit is contained in:
yumoqing 2026-07-17 20:58:22 +08:00
parent 04990674cc
commit da4495ab3e
5 changed files with 500 additions and 1 deletions

View File

@ -0,0 +1,478 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 77;
objects = {
/* Begin PBXBuildFile section */
A2B3C4D5E6F70819203A4B5C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A1B2C3D4E5F60718293A4B5C /* Assets.xcassets */; };
2692A1671334B982BFFB198F /* PlayerBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = B31DD55191E516336C52406A /* PlayerBridge.swift */; };
2DA5A97E6909C21F3EB2485A /* en.json in Resources */ = {isa = PBXBuildFile; fileRef = 0A1CB8D12E01611222F00D1D /* en.json */; };
33B22A58A94833E0D8E6B232 /* Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CAB6B721CB5CFFAE7347E86 /* Localization.swift */; };
431AED1FC8BD7C3440B1BDDC /* StreamRecorderKit in Frameworks */ = {isa = PBXBuildFile; productRef = B3332DCC10B60AF4044705C8 /* StreamRecorderKit */; };
4D576C56CA2B31F240DCB337 /* MiniPlayerIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = F64AB50C7B93B2B0FD7A0928 /* MiniPlayerIcon.swift */; };
5F986A8E1238F8FC2B5A9886 /* SwiftBricks in Frameworks */ = {isa = PBXBuildFile; productRef = 5827DB586DC6972D8B5A413C /* SwiftBricks */; };
88C42F60D69E60C97839A29A /* miniplayer.ui in Resources */ = {isa = PBXBuildFile; fileRef = 710496FFCCE1685380AA8AD9 /* miniplayer.ui */; };
8D4B4A870E9D3B60957FFC27 /* zh.json in Resources */ = {isa = PBXBuildFile; fileRef = C8BFEB5B6274D856A6693282 /* zh.json */; };
9B8E5C686D4731F9564552BE /* M3UParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A1FE8B6A96319FA9A97F4E6 /* M3UParser.swift */; };
A822994F1B321EBD6684A320 /* QRScannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2225C275CA7CDFFCB6F59186 /* QRScannerView.swift */; };
A8A831E03C38E9039873A58C /* HLSRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC10009F82A37CE88B7F69D /* HLSRecorder.swift */; };
AAB466106ED61B372188A534 /* VideoPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAAF251AA117F855DD3983CE /* VideoPlayerView.swift */; };
AFCBB0B3BAF1C831398A3C10 /* MediaLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA92876F43139089639D656 /* MediaLibrary.swift */; };
E51166CFC364D28144B00035 /* MediaLibraryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B536928DE7461B8F3D79152B /* MediaLibraryView.swift */; };
EA5778263D674F0C3741A985 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 059EA9335B36F8F6054FDF18 /* Localizable.strings */; };
F0F10CCA582B0497F015F11C /* MiniPlayerApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 612EF72E08789B8AAD14AA42 /* MiniPlayerApp.swift */; };
AA11BB22CC33DD44EE55FF02 /* PiPController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA11BB22CC33DD44EE55FF01 /* PiPController.swift */; };
AA11BB22CC33DD44EE55FF04 /* AirPlayButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA11BB22CC33DD44EE55FF03 /* AirPlayButton.swift */; };
AA11BB22CC33DD44EE55FF02 /* PiPController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA11BB22CC33DD44EE55FF01 /* PiPController.swift */; };
AA11BB22CC33DD44EE55FF04 /* AirPlayButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA11BB22CC33DD44EE55FF03 /* AirPlayButton.swift */; };
F955BFA42F2A970664A610D2 /* ProgressSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EF22228559AAFBDEE9894E4 /* ProgressSlider.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
0A1CB8D12E01611222F00D1D /* en.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = en.json; sourceTree = "<group>"; };
1CAB6B721CB5CFFAE7347E86 /* Localization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Localization.swift; sourceTree = "<group>"; };
2225C275CA7CDFFCB6F59186 /* QRScannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QRScannerView.swift; sourceTree = "<group>"; };
23C7479F8D2234793F03C4B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
3B058E6A2FC9C3C1CF764BC3 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
52597264272F49011E70E61E /* swiftbricks */ = {isa = PBXFileReference; lastKnownFileType = folder; name = swiftbricks; path = ../swiftbricks; sourceTree = SOURCE_ROOT; };
5EF22228559AAFBDEE9894E4 /* ProgressSlider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressSlider.swift; sourceTree = "<group>"; };
612EF72E08789B8AAD14AA42 /* MiniPlayerApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MiniPlayerApp.swift; sourceTree = "<group>"; };
AA11BB22CC33DD44EE55FF01 /* PiPController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PiPController.swift; sourceTree = "<group>"; };
AA11BB22CC33DD44EE55FF03 /* AirPlayButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirPlayButton.swift; sourceTree = "<group>"; };
AA11BB22CC33DD44EE55FF01 /* PiPController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PiPController.swift; sourceTree = "<group>"; };
AA11BB22CC33DD44EE55FF03 /* AirPlayButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirPlayButton.swift; sourceTree = "<group>"; };
6EC10009F82A37CE88B7F69D /* HLSRecorder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HLSRecorder.swift; sourceTree = "<group>"; };
710496FFCCE1685380AA8AD9 /* miniplayer.ui */ = {isa = PBXFileReference; path = miniplayer.ui; sourceTree = "<group>"; };
7A1FE8B6A96319FA9A97F4E6 /* M3UParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = M3UParser.swift; sourceTree = "<group>"; };
7DA92876F43139089639D656 /* MediaLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaLibrary.swift; sourceTree = "<group>"; };
87F35B31A43F5BA129ED3B31 /* MiniPlayer.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = MiniPlayer.app; sourceTree = BUILT_PRODUCTS_DIR; };
B31DD55191E516336C52406A /* PlayerBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerBridge.swift; sourceTree = "<group>"; };
B536928DE7461B8F3D79152B /* MediaLibraryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaLibraryView.swift; sourceTree = "<group>"; };
C8BFEB5B6274D856A6693282 /* zh.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = zh.json; sourceTree = "<group>"; };
A1B2C3D4E5F60718293A4B5C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
F64AB50C7B93B2B0FD7A0928 /* MiniPlayerIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MiniPlayerIcon.swift; sourceTree = "<group>"; };
F9646C21B81C9847374E358C /* StreamRecorder */ = {isa = PBXFileReference; lastKnownFileType = folder; name = StreamRecorder; path = ../StreamRecorder; sourceTree = SOURCE_ROOT; };
FAAF251AA117F855DD3983CE /* VideoPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoPlayerView.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
A5B5FAA99F9DC6172A5E518E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
5F986A8E1238F8FC2B5A9886 /* SwiftBricks in Frameworks */,
431AED1FC8BD7C3440B1BDDC /* StreamRecorderKit in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1A4139F31A4C8286B3D88A23 /* i18n */ = {
isa = PBXGroup;
children = (
0A1CB8D12E01611222F00D1D /* en.json */,
C8BFEB5B6274D856A6693282 /* zh.json */,
);
path = i18n;
sourceTree = "<group>";
};
21A54AFB28282277F0AAA327 /* Products */ = {
isa = PBXGroup;
children = (
87F35B31A43F5BA129ED3B31 /* MiniPlayer.app */,
);
name = Products;
sourceTree = "<group>";
};
6D56E2BE5939D0C781A592E7 /* Packages */ = {
isa = PBXGroup;
children = (
F9646C21B81C9847374E358C /* StreamRecorder */,
52597264272F49011E70E61E /* swiftbricks */,
);
name = Packages;
sourceTree = "<group>";
};
C36B2CAD250D80753D667AAA /* Sources */ = {
isa = PBXGroup;
children = (
6EC10009F82A37CE88B7F69D /* HLSRecorder.swift */,
1CAB6B721CB5CFFAE7347E86 /* Localization.swift */,
7A1FE8B6A96319FA9A97F4E6 /* M3UParser.swift */,
7DA92876F43139089639D656 /* MediaLibrary.swift */,
B536928DE7461B8F3D79152B /* MediaLibraryView.swift */,
612EF72E08789B8AAD14AA42 /* MiniPlayerApp.swift */,
AA11BB22CC33DD44EE55FF01 /* PiPController.swift */,
AA11BB22CC33DD44EE55FF03 /* AirPlayButton.swift */,
AA11BB22CC33DD44EE55FF01 /* PiPController.swift */,
AA11BB22CC33DD44EE55FF03 /* AirPlayButton.swift */,
F64AB50C7B93B2B0FD7A0928 /* MiniPlayerIcon.swift */,
B31DD55191E516336C52406A /* PlayerBridge.swift */,
5EF22228559AAFBDEE9894E4 /* ProgressSlider.swift */,
2225C275CA7CDFFCB6F59186 /* QRScannerView.swift */,
FAAF251AA117F855DD3983CE /* VideoPlayerView.swift */,
D55C9D9FE004852D6805DECD /* Resources */,
);
path = Sources;
sourceTree = "<group>";
};
D55C9D9FE004852D6805DECD /* Resources */ = {
isa = PBXGroup;
children = (
710496FFCCE1685380AA8AD9 /* miniplayer.ui */,
1A4139F31A4C8286B3D88A23 /* i18n */,
059EA9335B36F8F6054FDF18 /* Localizable.strings */,
);
path = Resources;
sourceTree = "<group>";
};
F16C0B0E4DDE9497D52C063E = {
isa = PBXGroup;
children = (
A1B2C3D4E5F60718293A4B5C /* Assets.xcassets */,
6D56E2BE5939D0C781A592E7 /* Packages */,
C36B2CAD250D80753D667AAA /* Sources */,
21A54AFB28282277F0AAA327 /* Products */,
);
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
F196BFC1AFD5B9FB222977C7 /* MiniPlayer */ = {
isa = PBXNativeTarget;
buildConfigurationList = 6C3B0E2D5DE7370782D3DE31 /* Build configuration list for PBXNativeTarget "MiniPlayer" */;
buildPhases = (
24440DDB096646E7D379D57F /* Sources */,
3628355BED2BA402FF65C949 /* Resources */,
A5B5FAA99F9DC6172A5E518E /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = MiniPlayer;
packageProductDependencies = (
5827DB586DC6972D8B5A413C /* SwiftBricks */,
B3332DCC10B60AF4044705C8 /* StreamRecorderKit */,
);
productName = MiniPlayer;
productReference = 87F35B31A43F5BA129ED3B31 /* MiniPlayer.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
1EE4A503921E8F6AC8E93402 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1500;
TargetAttributes = {
F196BFC1AFD5B9FB222977C7 = {
DevelopmentTeam = LR8YT5M53U;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = D4F2FAAB1ECC1EE57679E1F8 /* Build configuration list for PBXProject "MiniPlayer" */;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
Base,
en,
"zh-Hans",
);
mainGroup = F16C0B0E4DDE9497D52C063E;
minimizedProjectReferenceProxies = 1;
packageReferences = (
E3CF78B70DBBC705E49D2C0F /* XCLocalSwiftPackageReference "../StreamRecorder" */,
A8FF58C74895D42CF464337C /* XCLocalSwiftPackageReference "../swiftbricks" */,
);
preferredProjectObjectVersion = 77;
productRefGroup = 21A54AFB28282277F0AAA327 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
F196BFC1AFD5B9FB222977C7 /* MiniPlayer */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
3628355BED2BA402FF65C949 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
A2B3C4D5E6F70819203A4B5C /* Assets.xcassets in Resources */,
EA5778263D674F0C3741A985 /* Localizable.strings in Resources */,
2DA5A97E6909C21F3EB2485A /* en.json in Resources */,
88C42F60D69E60C97839A29A /* miniplayer.ui in Resources */,
8D4B4A870E9D3B60957FFC27 /* zh.json in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
24440DDB096646E7D379D57F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
A8A831E03C38E9039873A58C /* HLSRecorder.swift in Sources */,
33B22A58A94833E0D8E6B232 /* Localization.swift in Sources */,
9B8E5C686D4731F9564552BE /* M3UParser.swift in Sources */,
AFCBB0B3BAF1C831398A3C10 /* MediaLibrary.swift in Sources */,
E51166CFC364D28144B00035 /* MediaLibraryView.swift in Sources */,
F0F10CCA582B0497F015F11C /* MiniPlayerApp.swift in Sources */,
AA11BB22CC33DD44EE55FF02 /* PiPController.swift in Sources */,
AA11BB22CC33DD44EE55FF04 /* AirPlayButton.swift in Sources */,
AA11BB22CC33DD44EE55FF02 /* PiPController.swift in Sources */,
AA11BB22CC33DD44EE55FF04 /* AirPlayButton.swift in Sources */,
4D576C56CA2B31F240DCB337 /* MiniPlayerIcon.swift in Sources */,
2692A1671334B982BFFB198F /* PlayerBridge.swift in Sources */,
F955BFA42F2A970664A610D2 /* ProgressSlider.swift in Sources */,
A822994F1B321EBD6684A320 /* QRScannerView.swift in Sources */,
AAB466106ED61B372188A534 /* VideoPlayerView.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
059EA9335B36F8F6054FDF18 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
23C7479F8D2234793F03C4B0 /* en */,
3B058E6A2FC9C3C1CF764BC3 /* zh-Hans */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
07C78AB1570F1A62B7BD0B2A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"DEBUG=1",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
12349D573DFFEC58EFEB32C2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = LR8YT5M53U;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = MiniPlayer;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 2026.07.01;
PRODUCT_BUNDLE_IDENTIFIER = com.miniplayer.ios;
SDKROOT = iphoneos;
SWIFT_VERSION = 5.9;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
5DACA0FB1CD0CFA9B420AC4C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
};
name = Release;
};
E955B0B751756386B8D00034 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = LR8YT5M53U;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_CFBundleDisplayName = MiniPlayer;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 2026.07.01;
PRODUCT_BUNDLE_IDENTIFIER = com.miniplayer.ios;
SDKROOT = iphoneos;
SWIFT_VERSION = 5.9;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
6C3B0E2D5DE7370782D3DE31 /* Build configuration list for PBXNativeTarget "MiniPlayer" */ = {
isa = XCConfigurationList;
buildConfigurations = (
12349D573DFFEC58EFEB32C2 /* Debug */,
E955B0B751756386B8D00034 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
D4F2FAAB1ECC1EE57679E1F8 /* Build configuration list for PBXProject "MiniPlayer" */ = {
isa = XCConfigurationList;
buildConfigurations = (
07C78AB1570F1A62B7BD0B2A /* Debug */,
5DACA0FB1CD0CFA9B420AC4C /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
/* Begin XCLocalSwiftPackageReference section */
A8FF58C74895D42CF464337C /* XCLocalSwiftPackageReference "../swiftbricks" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = ../swiftbricks;
};
E3CF78B70DBBC705E49D2C0F /* XCLocalSwiftPackageReference "../StreamRecorder" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = ../StreamRecorder;
};
/* End XCLocalSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
5827DB586DC6972D8B5A413C /* SwiftBricks */ = {
isa = XCSwiftPackageProductDependency;
productName = SwiftBricks;
};
B3332DCC10B60AF4044705C8 /* StreamRecorderKit */ = {
isa = XCSwiftPackageProductDependency;
productName = StreamRecorderKit;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 1EE4A503921E8F6AC8E93402 /* Project object */;
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>MiniPlayer.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
</dict>
</plist>

View File

@ -593,7 +593,7 @@ struct BricksAppView: View {
set: { if !$0 { bridge.pendingExportURL = nil } }
)) {
if let url = bridge.pendingExportURL {
NSLog("[MiniPlayer] Presenting ActivityShareSheet for: %@", url.lastPathComponent)
let _ = { NSLog("[MiniPlayer] Presenting ActivityShareSheet for: %@", url.lastPathComponent) }()
ActivityShareSheet(url: url) {
bridge.pendingExportURL = nil
}