Skip to content

Commit c8af38e

Browse files
committed
fix(workflow): enhance codesigning and notarization steps for macOS builds
1 parent 9281755 commit c8af38e

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

.github/workflows/main.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,10 @@ jobs:
128128
129129
- name: codesign dylib
130130
if: matrix.os == 'macos-15' && matrix.name != 'apple-xcframework'
131-
run: codesign --sign "${{ secrets.APPLE_TEAM_ID }}" --timestamp --options runtime dist/cloudsync.dylib
131+
run: |
132+
codesign --sign "${{ secrets.APPLE_TEAM_ID }}" --timestamp --options runtime dist/cloudsync.dylib
133+
xcrun notarytool submit dist/cloudsync.dylib --apple-id "${{ secrets.APPLE_ID }}" --password "${{ secrets.APPLE_PASSWORD }}" --team-id "${{ secrets.APPLE_TEAM_ID }}" --wait
134+
xcrun stapler staple dist/cloudsync.dylib
132135
133136
- name: codesign xcframework
134137
if: matrix.name == 'apple-xcframework'
@@ -137,6 +140,7 @@ jobs:
137140
codesign --sign "${{ secrets.APPLE_TEAM_ID }}" --timestamp --options runtime dist/CloudSync.xcframework # Then sign the xcframework wrapper
138141
ditto -c -k --keepParent dist/CloudSync.xcframework dist/CloudSync.xcframework.zip
139142
xcrun notarytool submit dist/CloudSync.xcframework.zip --apple-id "${{ secrets.APPLE_ID }}" --password "${{ secrets.APPLE_PASSWORD }}" --team-id "${{ secrets.APPLE_TEAM_ID }}" --wait
143+
xcrun stapler staple dist/CloudSync.xcframework
140144
rm dist/CloudSync.xcframework.zip
141145
142146
- name: cleanup keychain for codesign

Makefile

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,14 +340,24 @@ define PLIST
340340
</plist>
341341
endef
342342

343+
define MODULEMAP
344+
framework module CloudSync {\
345+
umbrella header \"CloudSync.h\"\
346+
export *\
347+
}
348+
endef
349+
343350
LIB_NAMES = ios.dylib ios-sim.dylib macos.dylib
344351
FMWK_NAMES = ios-arm64 ios-arm64_x86_64-simulator macos-arm64_x86_64
345352
$(DIST_DIR)/%.xcframework: $(LIB_NAMES)
346353
@$(foreach i,1 2 3,\
347354
lib=$(word $(i),$(LIB_NAMES)); \
348355
fmwk=$(word $(i),$(FMWK_NAMES)); \
349-
mkdir -p $(DIST_DIR)/$$fmwk/CloudSync.framework; \
356+
mkdir -p $(DIST_DIR)/$$fmwk/CloudSync.framework/Headers; \
357+
mkdir -p $(DIST_DIR)/$$fmwk/CloudSync.framework/Modules; \
358+
cp src/cloudsync.h $(DIST_DIR)/$$fmwk/CloudSync.framework/Headers/CloudSync.h; \
350359
printf "$(PLIST)" > $(DIST_DIR)/$$fmwk/CloudSync.framework/Info.plist; \
360+
printf "$(MODULEMAP)" > $(DIST_DIR)/$$fmwk/CloudSync.framework/Modules/module.modulemap; \
351361
mv $(DIST_DIR)/$$lib $(DIST_DIR)/$$fmwk/CloudSync.framework/CloudSync; \
352362
install_name_tool -id "@rpath/CloudSync.framework/CloudSync" $(DIST_DIR)/$$fmwk/CloudSync.framework/CloudSync; \
353363
)

0 commit comments

Comments
 (0)