How To Create A Framework In Swift

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

Comments

One response to “How To Create A Framework In Swift”

  1. Code of your destiny Avatar

    I am really inspired along with your writing talents as well as with the layout in your blog. Is that this a paid theme or did you modify it yourself? Anyway keep up the nice quality writing, it is uncommon to look a nice weblog like this one these days!

Leave a Reply

Your email address will not be published. Required fields are marked *