From 28f45fc4f906acd59f7efb5e936ac5209c915be8 Mon Sep 17 00:00:00 2001 From: James Newman Date: Tue, 30 Sep 2025 11:23:37 +1000 Subject: [PATCH 1/2] perf: Migrate to static linking --- .github/PULL_REQUEST_TEMPLATE.md | 28 +++++++++++ mParticle-Apple-SDK.xcodeproj/project.pbxproj | 50 +++---------------- 2 files changed, 34 insertions(+), 44 deletions(-) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..14f39fb37 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,28 @@ + + +## Background + +- {Explain the context of the change, including the problem it addresses or relevant background information} + +## What Has Changed + +- {Describe the changes introduced by this PR} + +## Screenshots/Video + +- {Include any screenshots or video demonstrating the new feature or fix, if applicable} + +## Checklist + +- [ ] I have performed a self-review of my own code. +- [ ] I have made corresponding changes to the documentation. +- [ ] I have added tests that prove my fix is effective or that my feature works. +- [ ] I have tested this locally. + +## Additional Notes + +- {Any additional information or context relevant to this PR} + +## Reference Issue (For employees only. Ignore if you are an outside contributor) + +- Closes [ticket](https://go/j/[ticket-number]) diff --git a/mParticle-Apple-SDK.xcodeproj/project.pbxproj b/mParticle-Apple-SDK.xcodeproj/project.pbxproj index 95f96280f..0a08906c8 100644 --- a/mParticle-Apple-SDK.xcodeproj/project.pbxproj +++ b/mParticle-Apple-SDK.xcodeproj/project.pbxproj @@ -2364,20 +2364,10 @@ CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = ./Framework/Info.plist; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); + MACH_O_TYPE = staticlib; MODULEMAP_FILE = "./Framework/mParticle-Apple-SDK.modulemap"; OTHER_CFLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = "com.mparticle.mParticle-Apple-SDK"; @@ -2401,20 +2391,10 @@ CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = ./Framework/Info.plist; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); + MACH_O_TYPE = staticlib; MODULEMAP_FILE = "./Framework/mParticle-Apple-SDK.modulemap"; OTHER_CFLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = "com.mparticle.mParticle-Apple-SDK"; @@ -2484,9 +2464,6 @@ CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_PREPROCESSOR_DEFINITIONS = ( "MPARTICLE_LOCATION_DISABLE=1", "$(inherited)", @@ -2494,15 +2471,9 @@ INFOPLIST_FILE = ./Framework/Info.plist; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); + MACH_O_TYPE = staticlib; MODULEMAP_FILE = "./Framework/mParticle-Apple-SDK-NoLocation.modulemap"; + SKIP_INSTALL = YES; OTHER_CFLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = "com.mparticle.mParticle-Apple-SDK-NoLocation"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2527,9 +2498,6 @@ CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_PREPROCESSOR_DEFINITIONS = ( "MPARTICLE_LOCATION_DISABLE=1", "$(inherited)", @@ -2537,15 +2505,9 @@ INFOPLIST_FILE = ./Framework/Info.plist; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); + MACH_O_TYPE = staticlib; MODULEMAP_FILE = "./Framework/mParticle-Apple-SDK-NoLocation.modulemap"; + SKIP_INSTALL = YES; OTHER_CFLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = "com.mparticle.mParticle-Apple-SDK-NoLocation"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; From 4278e0371ff9cca71a9cd8758716b5dad673d9ff Mon Sep 17 00:00:00 2001 From: James Newman Date: Tue, 30 Sep 2025 15:37:39 +1000 Subject: [PATCH 2/2] Remove skip install and update gitignore --- .gitignore | 4 ++++ mParticle-Apple-SDK.xcodeproj/project.pbxproj | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2874357d3..e7e4f576b 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,7 @@ node_modules .ruby-version /**/.ruby-version vendor/ + +# XCFrameworks +*.xcframework +archives/ diff --git a/mParticle-Apple-SDK.xcodeproj/project.pbxproj b/mParticle-Apple-SDK.xcodeproj/project.pbxproj index 0a08906c8..08cf96f16 100644 --- a/mParticle-Apple-SDK.xcodeproj/project.pbxproj +++ b/mParticle-Apple-SDK.xcodeproj/project.pbxproj @@ -2473,7 +2473,6 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "./Framework/mParticle-Apple-SDK-NoLocation.modulemap"; - SKIP_INSTALL = YES; OTHER_CFLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = "com.mparticle.mParticle-Apple-SDK-NoLocation"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2507,7 +2506,6 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "./Framework/mParticle-Apple-SDK-NoLocation.modulemap"; - SKIP_INSTALL = YES; OTHER_CFLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = "com.mparticle.mParticle-Apple-SDK-NoLocation"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";