diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..fc22c0e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,47 @@ +name: Build + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + workflow_dispatch: + +jobs: + build: + name: Build XCFramework + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Prepare + run: | + FPATH="./mft $(date +'%Y-%m-%d %H-%M-%S')" + echo "FPATH=$FPATH" >> $GITHUB_ENV + echo Using build path: $FPATH + mkdir "$FPATH" + + - name: Build for iOS + run: | + xcodebuild archive -scheme "mft ios" -destination "generic/platform=iOS" -archivePath "${FPATH}/mft_ios" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES + + - name: Build for iOS Simulator + run: | + xcodebuild archive -scheme "mft ios" -destination "generic/platform=iOS Simulator" -archivePath "${FPATH}/mft_sim" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES + + - name: Build for macOS + run: | + xcodebuild archive -scheme "mft" -destination "generic/platform=macOS" -archivePath "${FPATH}/mft_macos" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES + + - name: Build XCFramework + run: | + xcodebuild -create-xcframework -framework "${FPATH}/mft_ios.xcarchive/Products/Library/Frameworks/mft.framework" -framework "${FPATH}/mft_sim.xcarchive/Products/Library/Frameworks/mft.framework" -framework "${FPATH}/mft_macos.xcarchive/Products/Library/Frameworks/mft.framework" -output "${FPATH}/out/mft.xcframework" + + - name: Upload artifacts + uses: actions/upload-artifact@v7 + with: + name: mft + path: "${{ env.FPATH }}/out" + diff --git a/mft.xcodeproj/project.pbxproj b/mft.xcodeproj/project.pbxproj index b2f70e7..effdb2b 100644 --- a/mft.xcodeproj/project.pbxproj +++ b/mft.xcodeproj/project.pbxproj @@ -364,12 +364,12 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_ASSET_PATHS = ""; - DEVELOPMENT_TEAM = 4FCG286D3J; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -402,6 +402,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.mpl.mft; PRODUCT_NAME = mft; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = NO; SUPPORTS_MACCATALYST = NO; @@ -418,12 +419,12 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_ASSET_PATHS = ""; - DEVELOPMENT_TEAM = 4FCG286D3J; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -456,6 +457,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = com.mpl.mft; PRODUCT_NAME = mft; + PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = NO; SUPPORTS_MACCATALYST = NO; @@ -608,12 +610,12 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_ASSET_PATHS = ""; - DEVELOPMENT_TEAM = 4FCG286D3J; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -636,6 +638,7 @@ MODULEMAP_FILE = ""; PRODUCT_BUNDLE_IDENTIFIER = com.mpl.mft; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -648,12 +651,12 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_ASSET_PATHS = ""; - DEVELOPMENT_TEAM = 4FCG286D3J; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -676,6 +679,7 @@ MODULEMAP_FILE = ""; PRODUCT_BUNDLE_IDENTIFIER = com.mpl.mft; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = NO; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0;