Browse Source

Add iOS-only xcframework binary

onevcat 1 year ago
parent
commit
b93a04c745
1 changed files with 23 additions and 1 deletions
  1. 23 1
      fastlane/Fastfile

+ 23 - 1
fastlane/Fastfile

@@ -1,4 +1,3 @@
-
 fastlane_version "1.37.0"
 
 default_platform :ios
@@ -139,6 +138,29 @@ platform :ios do
       output_path: "build/#{target_version}.zip",
       symlinks: true
     )
+
+    # Create iOS only xcframework
+    ios_frameworks = {}
+    ["iphoneos", "iphonesimulator"].each do |sdk|
+      archive_path = "build/Kingfisher-#{sdk}.xcarchive"
+      ios_frameworks["#{archive_path}/Products/Library/Frameworks/Kingfisher.framework"] = { 
+        dsyms: "#{Dir.pwd}/../#{archive_path}/dSYMs/Kingfisher.framework.dSYM" 
+      }
+    end
+
+    ios_target_version = "Kingfisher-iOS-#{options[:version]}"
+    create_xcframework(
+      frameworks_with_dsyms: ios_frameworks,
+      output: "build/#{ios_target_version}/Kingfisher.xcframework"
+    )
+
+    Actions.sh("codesign --timestamp -v --sign 'Apple Distribution: Wei Wang (A4YJ9MRZ66)' ../build/#{ios_target_version}/Kingfisher.xcframework")
+
+    zip(
+      path: "build/#{ios_target_version}",
+      output_path: "build/#{ios_target_version}.zip",
+      symlinks: true
+    )
   end
 
   before_all do |lane|