Tạo một framework trong iOS

Tạo một framework trong iOS

Mở đầu

Bạn đã bao giờ muốn chia sẻ code của mình giữa hai hoặc nhiều dự án, hoặc chia sẻ cho các lập trình viên khác?

Hoặc có thể bạn muốn mô hình hoá code của giống như cách mà iOS SDK chia các API của nó thành các function, hoặc cũng có thể bạn muốn chia sẻ code của mình giống như một thư viện cho bên thứ 3.

Bài hướng dẫn sau đây mình sẽ hướng dẫn từng bước để thực hiện các mong muốn như trên. Đó gọi là Framework!

Framework có mục đích chính sau:

  • Đóng gói code
  • Modun hoá code
  • Sử dụng lại code

Bạn có thể chia sẻ framework của mình cho các ứng dụng khác, các thành viên khác trong dự án.

Các mục chính của bài hướng dẫn bao gồm:

  • Tạo framework
  • Tích hợp vào code có sẵn

Tạo framework

Mình tạo 1 framework đơn giản là custome UILabel

Bước 1: Tạo một project cho framework

  1. Trong Xcode, vào File ▸ New ▸ Project
  2. Chọn iOS ▸ Framework & Library ▸ Cocoa Touch Framework

  1. Chọn Next
  2. Điền tên framework

Ở đây mình đặt tên là FrameworkDemo

  1. Chọn Next
  2. Chọn thư mục để project
  3. Chọn Create

Vậy là chúng ta đã tạo xong một framework!

Bước 2: Thêm code vào framework

Ở đây mình tạo một hàm đơn giản để custom UILabel giống như tạo trên project bình thường

Trong file MyLabel.h

@interface MyLabel : UILabel
- (void) setText;
@end

Trong file MyLabel.m

#import "MyLabel.h"

@implementation MyLabel

-(void) setText {
    self.text = @"Hello";
}
@end

Nhớ để public MyLabel bằng cách chọn MyLabel.h ▸ bên inspector bên tay phải, trong mục Target Membership chọn public

Trong file FrameworkDemo.h import module mình vừa tạo như sau:

Xong xuôi chúng ta run project, sau khi run thành công sẽ xuất hiện file .framework trong thư mục Products như sau:

Nhúng framework vào project

Trong một project khác (mình tạo project mới có tên là TestFW) , chúng ta sẽ tích hợp framework vừa tạo để sử dụng Label vừa tạo như sau

  1. Chọn File ▸ Addd File to "TestFW"

Add file FrameworkDemo.xcodeproj vào

  1. Mở project editor của TestFW ▸ chọn target ▸ chọn tab General ▸ Add framework vào Embedded Binaries and Linked Frameworks and Binaries.

Vậy là xong bước nhúng framework vào project, giờ chúng ta có thể sử dụng được MyLabel trong project TestFW.

Trên đây mình đã thực hiện xong các bước tạo framework và tích hợp framework vào project để sử dụng. Cảm ơn mọi người đã đọc!

Link tham khảo: https://www.raywenderlich.com/5109-creating-a-framework-for-ios