How To Create A Framework In Swift

by pain
806 views

Updated for Swift 5

Vì sao nên sử dụng framework

  • Việc sử dụng các tính chất hướng đối tượng trong lập trình rất phổ biến trong đó có tính chất kế thừa
  • Nhưng với việc swiftUI được ra đời và với SwiftUI thì View nó là struct, nên không thể kế thừa
  • Vậy có cách nào để thay thế được kế thừa trong swift?
  • Đối với riêng SwiftUI nói riêng hay việc sử dụng các framework iOS nói chung: Việc sử dụng tính chất kế thừa sẽ có những issue như swiftUI đang sử dụng View là struct ( struct k có các tính chất hướng đối tượng như class). Vâyviệc Customize 1 class để tái sử dụng như Class MainView: CustomizeView hay các phương thức như override hay class cha có các property gì thì class con cũng sẽ có các property đấy

Tạo framework như thế nào?

  • Từ Xcode 11, Apple đã công bố tạo một framework được gọi là XCFramework
    • Mở Xcode, File > New > Project và chọn Framework

  • Triển khai mã code cho framwork tại đây
  • Tiếp theo sử dụng xcodebuild archive để tạo kho lưu trữ

    xcodebuild archive -scheme PROJECTNAME_HERE -destination=”iOS” -archivePath /tmp/xcf/ios.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

    xcodebuild archive -scheme PROJECTNAME_HERE -destination=”iOS Simulator” -archivePath /tmp/xcf/iossimulator.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES destination: tùy chọn xác định nền tảng mục tiêu và các thiết bị.archivePath: đường dẫn tới thư mục cần tạo framework

  • Sau khi chạy 2 lệnh ở trên thành công
  • Tiếp theo sử dung câu lệnh này để đóng gói framwork

    xcodebuild -create-xcframework -framework /tmp/xcf/ios.xcarchive/Products/Library/Frameworks/PROJECTNAME_HERE.framework -framework /tmp/xcf/iossimulator.xcarchive/Products/Library/Frameworks/PROJECTNAME_HERE.framework -output FRAMEWORK_NAME.xcframework

    File đã được gen ra thành công:

  • Add framework đã tạo vào trong project cần dùng và để sang Embed & Sign 
  • Import framework vào class cần sử dụng

Kết luận

  • Việc tạo framework cho bạn có thể sử dụng tất cả các thuộc tính cũng như chức năng giống như tính chất kế thừa có thể làm được
  • Đây là một trong những cách có thể thay thế tính chất kế thừa tuỳ theo mục đích của từng bài toán Link tham khảo

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

You may also like