Skip to content

Commit

Permalink
ci: use Xcode 15.2
Browse files Browse the repository at this point in the history
build: add SPM manifest for tools version 5.8

required for use with prior toolchains to test earlier OS versions
without re-downloading runtime on each run

build: use patched MuxCore in order for CI to test earlier OS versions

build: mark AVPlayerLayer APIs as unavailable on visionOS

temporarily drop Xcode 14 because of missing visionOS build flags

ci: add visionOS slices to when building static multiplatform bundle

test: add visionOS test scheme
  • Loading branch information
andrewjl-mux committed Jan 30, 2024
1 parent f8f0c9b commit 7cec59d
Show file tree
Hide file tree
Showing 95 changed files with 2,572 additions and 2,145 deletions.
149 changes: 148 additions & 1 deletion MUXSDKStats/MUXSDKStats.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@
19E4EA2E2AB984860068E1EE /* MUXSDKStatsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F4DCAD0B1DCA892E0094D94C /* MUXSDKStatsTests.m */; };
19EE40772ADD9841007F596A /* MuxCore in Frameworks */ = {isa = PBXBuildFile; productRef = 19EE40762ADD9841007F596A /* MuxCore */; };
19EE40792ADD9860007F596A /* MuxCore in Frameworks */ = {isa = PBXBuildFile; productRef = 19EE40782ADD9860007F596A /* MuxCore */; };
19F2B24E2B68724200D5DEA6 /* MUXSDKStatsVisionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 19F2B24D2B68724200D5DEA6 /* MUXSDKStatsVisionTests.m */; };
19F2B24F2B68724200D5DEA6 /* MUXSDKStats.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 195800E02B51BD43008BE2EB /* MUXSDKStats.framework */; };
19F2B2552B6872A600D5DEA6 /* MUXSDKStatsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F4DCAD0B1DCA892E0094D94C /* MUXSDKStatsTests.m */; };
19F2B2572B68B47B00D5DEA6 /* MUXSDKPlayerBindingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0243A98423E9FFC600FBF5B4 /* MUXSDKPlayerBindingTests.m */; };
F41E09081DDA8E530028A296 /* MUXSDKStatsTv.h in Headers */ = {isa = PBXBuildFile; fileRef = F41E09061DDA8E530028A296 /* MUXSDKStatsTv.h */; settings = {ATTRIBUTES = (Public, ); }; };
F41E099D1DDA8FB50028A296 /* MUXSDKStats.h in Headers */ = {isa = PBXBuildFile; fileRef = F4DCAD001DCA892E0094D94C /* MUXSDKStats.h */; settings = {ATTRIBUTES = (Public, ); }; };
F41E09E41DDA90DB0028A296 /* MUXSDKPlayerBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = F4572FC11DDA2FC8003FE72B /* MUXSDKPlayerBinding.h */; settings = {ATTRIBUTES = (Public, ); }; };
Expand All @@ -84,6 +88,13 @@
remoteGlobalIDString = F41E09031DDA8E530028A296;
remoteInfo = MUXSDKStatsTv;
};
19F2B2502B68724200D5DEA6 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = F4DCACF41DCA892E0094D94C /* Project object */;
proxyType = 1;
remoteGlobalIDString = 195800DF2B51BD43008BE2EB;
remoteInfo = MUXSDKStatsVision;
};
F4DCAD081DCA892E0094D94C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = F4DCACF41DCA892E0094D94C /* Project object */;
Expand Down Expand Up @@ -114,6 +125,9 @@
195800E02B51BD43008BE2EB /* MUXSDKStats.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MUXSDKStats.framework; sourceTree = BUILT_PRODUCTS_DIR; };
195800E22B51BD43008BE2EB /* MUXSDKStatsVision.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MUXSDKStatsVision.h; sourceTree = "<group>"; };
195800EF2B51CB06008BE2EB /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
19F2B24B2B68724200D5DEA6 /* MUXSDKStatsVisionTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MUXSDKStatsVisionTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
19F2B24D2B68724200D5DEA6 /* MUXSDKStatsVisionTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MUXSDKStatsVisionTests.m; sourceTree = "<group>"; };
19F2B2562B68731000D5DEA6 /* MUXSDKStatsVision.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = MUXSDKStatsVision.xctestplan; sourceTree = "<group>"; };
350F766328FDCD8D008F520F /* MUXSDKStats+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MUXSDKStats+Internal.h"; sourceTree = "<group>"; };
F41E09041DDA8E530028A296 /* MUXSDKStats.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MUXSDKStats.framework; sourceTree = BUILT_PRODUCTS_DIR; };
F41E09061DDA8E530028A296 /* MUXSDKStatsTv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MUXSDKStatsTv.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -148,6 +162,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
19F2B2482B68724200D5DEA6 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
19F2B24F2B68724200D5DEA6 /* MUXSDKStats.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
F41E09001DDA8E530028A296 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -203,6 +225,14 @@
path = MUXSDKStatsVision;
sourceTree = "<group>";
};
19F2B24C2B68724200D5DEA6 /* MUXSDKStatsVisionTests */ = {
isa = PBXGroup;
children = (
19F2B24D2B68724200D5DEA6 /* MUXSDKStatsVisionTests.m */,
);
path = MUXSDKStatsVisionTests;
sourceTree = "<group>";
};
F41E09051DDA8E530028A296 /* MUXSDKStatsTv */ = {
isa = PBXGroup;
children = (
Expand All @@ -216,11 +246,13 @@
F4DCACF31DCA892E0094D94C = {
isa = PBXGroup;
children = (
19F2B2562B68731000D5DEA6 /* MUXSDKStatsVision.xctestplan */,
F4DCACFF1DCA892E0094D94C /* MUXSDKStats */,
F4DCAD0A1DCA892E0094D94C /* MUXSDKStatsTests */,
F41E09051DDA8E530028A296 /* MUXSDKStatsTv */,
1917D7BA2AB97FBC009654E8 /* MUXSDKStatsTvTests */,
195800E12B51BD43008BE2EB /* MUXSDKStatsVision */,
19F2B24C2B68724200D5DEA6 /* MUXSDKStatsVisionTests */,
F4DCACFE1DCA892E0094D94C /* Products */,
);
sourceTree = "<group>";
Expand All @@ -233,6 +265,7 @@
F41E09041DDA8E530028A296 /* MUXSDKStats.framework */,
1917D7B92AB97FBC009654E8 /* MUXSDKStatsTvTests.xctest */,
195800E02B51BD43008BE2EB /* MUXSDKStats.framework */,
19F2B24B2B68724200D5DEA6 /* MUXSDKStatsVisionTests.xctest */,
);
name = Products;
sourceTree = "<group>";
Expand Down Expand Up @@ -369,6 +402,24 @@
productReference = 195800E02B51BD43008BE2EB /* MUXSDKStats.framework */;
productType = "com.apple.product-type.framework";
};
19F2B24A2B68724200D5DEA6 /* MUXSDKStatsVisionTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 19F2B2522B68724200D5DEA6 /* Build configuration list for PBXNativeTarget "MUXSDKStatsVisionTests" */;
buildPhases = (
19F2B2472B68724200D5DEA6 /* Sources */,
19F2B2482B68724200D5DEA6 /* Frameworks */,
19F2B2492B68724200D5DEA6 /* Resources */,
);
buildRules = (
);
dependencies = (
19F2B2512B68724200D5DEA6 /* PBXTargetDependency */,
);
name = MUXSDKStatsVisionTests;
productName = MUXSDKStatsVisionTests;
productReference = 19F2B24B2B68724200D5DEA6 /* MUXSDKStatsVisionTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
F41E09031DDA8E530028A296 /* MUXSDKStatsTv */ = {
isa = PBXNativeTarget;
buildConfigurationList = F41E090B1DDA8E530028A296 /* Build configuration list for PBXNativeTarget "MUXSDKStatsTv" */;
Expand Down Expand Up @@ -446,6 +497,9 @@
195800DF2B51BD43008BE2EB = {
CreatedOnToolsVersion = 15.2;
};
19F2B24A2B68724200D5DEA6 = {
CreatedOnToolsVersion = 15.2;
};
F41E09031DDA8E530028A296 = {
CreatedOnToolsVersion = 8.0;
ProvisioningStyle = Automatic;
Expand Down Expand Up @@ -481,6 +535,7 @@
F41E09031DDA8E530028A296 /* MUXSDKStatsTv */,
1917D7B82AB97FBC009654E8 /* MUXSDKStatsTvTests */,
195800DF2B51BD43008BE2EB /* MUXSDKStatsVision */,
19F2B24A2B68724200D5DEA6 /* MUXSDKStatsVisionTests */,
);
};
/* End PBXProject section */
Expand All @@ -500,6 +555,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
19F2B2492B68724200D5DEA6 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
F41E09021DDA8E530028A296 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -550,6 +612,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
19F2B2472B68724200D5DEA6 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
19F2B24E2B68724200D5DEA6 /* MUXSDKStatsVisionTests.m in Sources */,
19F2B2552B6872A600D5DEA6 /* MUXSDKStatsTests.m in Sources */,
19F2B2572B68B47B00D5DEA6 /* MUXSDKPlayerBindingTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
F41E08FF1DDA8E530028A296 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -598,6 +670,11 @@
target = F41E09031DDA8E530028A296 /* MUXSDKStatsTv */;
targetProxy = 1917D7BE2AB97FBC009654E8 /* PBXContainerItemProxy */;
};
19F2B2512B68724200D5DEA6 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 195800DF2B51BD43008BE2EB /* MUXSDKStatsVision */;
targetProxy = 19F2B2502B68724200D5DEA6 /* PBXContainerItemProxy */;
};
F4DCAD091DCA892E0094D94C /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = F4DCACFC1DCA892E0094D94C /* MUXSDKStats */;
Expand Down Expand Up @@ -748,6 +825,63 @@
};
name = Release;
};
19F2B2532B68724200D5DEA6 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = XX95P4Y787;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GENERATE_INFOPLIST_FILE = YES;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.mux.stats.visionos.MUXSDKStatsVisionTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = xros;
SUPPORTED_PLATFORMS = "xros xrsimulator";
SWIFT_EMIT_LOC_STRINGS = NO;
TARGETED_DEVICE_FAMILY = "1,2,7";
XROS_DEPLOYMENT_TARGET = 1.0;
};
name = Debug;
};
19F2B2542B68724200D5DEA6 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = XX95P4Y787;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GENERATE_INFOPLIST_FILE = YES;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.0;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.mux.stats.visionos.MUXSDKStatsVisionTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = xros;
SUPPORTED_PLATFORMS = "xros xrsimulator";
SWIFT_EMIT_LOC_STRINGS = NO;
TARGETED_DEVICE_FAMILY = "1,2,7";
XROS_DEPLOYMENT_TARGET = 1.0;
};
name = Release;
};
F41E09091DDA8E530028A296 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
Expand All @@ -763,6 +897,7 @@
"TVOS=1",
);
INFOPLIST_FILE = MUXSDKStatsTv/Info.plist;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 Mux, Inc. All rights reserved.";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
Expand Down Expand Up @@ -792,6 +927,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
"GCC_PREPROCESSOR_DEFINITIONS[sdk=*]" = "TVOS=1";
INFOPLIST_FILE = MUXSDKStatsTv/Info.plist;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 Mux, Inc. All rights reserved.";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
Expand Down Expand Up @@ -973,6 +1109,7 @@
"TVOS=1",
);
INFOPLIST_FILE = MUXSDKStats/Info.plist;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 Mux, Inc. All rights reserved.";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
Expand Down Expand Up @@ -1001,6 +1138,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
"GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvos*]" = "TVOS=1";
INFOPLIST_FILE = MUXSDKStats/Info.plist;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 Mux, Inc. All rights reserved.";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
Expand Down Expand Up @@ -1070,6 +1208,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
19F2B2522B68724200D5DEA6 /* Build configuration list for PBXNativeTarget "MUXSDKStatsVisionTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
19F2B2532B68724200D5DEA6 /* Debug */,
19F2B2542B68724200D5DEA6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
F41E090B1DDA8E530028A296 /* Build configuration list for PBXNativeTarget "MUXSDKStatsTv" */ = {
isa = XCConfigurationList;
buildConfigurations = (
Expand Down Expand Up @@ -1113,7 +1260,7 @@
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/muxinc/stats-sdk-objc";
requirement = {
branch = master;
branch = releases/v4.7.1;
kind = branch;
};
};
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1520"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "195800DF2B51BD43008BE2EB"
BuildableName = "MUXSDKStats.framework"
BlueprintName = "MUXSDKStatsVision"
ReferencedContainer = "container:MUXSDKStats.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<TestPlans>
<TestPlanReference
reference = "container:MUXSDKStatsVision.xctestplan"
default = "YES">
</TestPlanReference>
</TestPlans>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "195800DF2B51BD43008BE2EB"
BuildableName = "MUXSDKStats.framework"
BlueprintName = "MUXSDKStatsVision"
ReferencedContainer = "container:MUXSDKStats.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Loading

0 comments on commit 7cec59d

Please sign in to comment.