iOS Fat Framework


SWIFTUIとCustomフレームを使っていますが、シミュレータになっていないのでとても不便です.だからfat frameworkを作成して使いました.整理したいです.
#Simulator
xcodebuild archive -workspace WORKSPACENAME.xcworkspace \
-scheme SCHEME_NAME \ 
-arch x86_64 \ #archtecture 제한시
-configuration Release -archivePath "./build/ios_sim.xcarchive" \
-sdk iphonesimulator SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \

#iphone
xcodebuild archive -workspace WORKSPACENAME.xcworkspace \
-scheme SCHEME_NAME \
-arch arm64
-configuration Release -archivePath "./build/ios_sim.xcarchive" \
-sdk iphoneos SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
上記コマンドを使用して端末をアーカイブします.
xcodebuild -create-xcframework \
-framework build/ios.xcarchive/Products/Library/Frameworks/FRAMEWORK_NAME.framework \
-framework build/ios_sim.xcarchive/Products/Library/Frameworks/Frameworks/FRAMEWORK_NAME.framework \
-output build/Frameworks/FRAMEWORK_NAME.xcframework

#static 라이브러리 일시
xcodebuild -create-xcframework \
-library build/ios.xcarchive/Products/usr/local/lib/LIBRARY_NAME.a \      
-library build/ios_sim.xcarchive/Products/usr/local/lib/LIBRARY_NAME.a \
-output build/usr/LIBRARY_NAME.xcframework
そして上のコマンドを使ってFatフレームワークを簡単に作成できます!
ただし、CustomフレームがCocoPodsで追加のフレームを使用するとエラーが発生します.Podfileの最後に次のコードを追加すると、エラーは消えます.
post_install do |installer|
        installer.pods_project.targets.each do |target|
          target.build_configurations.each do |config|
            config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
          end
        end
      end
リファレンス
https://dvlpr-chan.tistory.com/10