Hướng dẫn tạo Swift Package Manager

by congpq98
70 views

Tạo thư viện bằng Swift Package Manager trong Xcode

Bạn có tò mò một bàn phím gợi ý suggest ra số tiền khi bạn nhập vào được code như thế nào không? Hôm nay mình sẽ hướng dẫn các bạn custom bàn phím gợi ý và public nó lên Swift Package nhé.

I .Swift Package Manager là gì ?

Swift Packager Manager là một công cụ giúp quản lý việc phân phối mã nguồn, giúp cho việc chia sẻ và dùng lại code được dễ dàng. Được Apple tích hợp từ Xcode 11 giúp cho việc chúng ta quản lí dependency một cách đơn giản hơn. Mình chỉ nói sơ qua còn các bạn tìm đọc thêm ở https://swift.org/package-manager nhé.

II .Hướng dẫn tạo Swift Package Manager

  1. Tạo package suggest tiền Việt Nam Đầu tiên chúng ta mở Xcode ➞ File ➞ New ➞ Swift Package như hình: Image of article đặt tên của Package như trên là “VNDTextField” ở đây chúng ta đã tạo được Swift Package. Image of article Sau khi tạo xong, chúng ta vào file package và sẽ tiến hành config trong như sau:
import PackageDescription

let package = Package(
    name: "VNDTextField",
    platforms: [
            .iOS(.v10)            
        ],
    products: [
        // Products define the executables and libraries a package produces, and make them visible to other packages.
        .library(
            name: "VNDTextField",
            targets: ["VNDTextField"]),
    ],
    dependencies: [
        // Dependencies declare other packages that this package depends on.
        // .package(url: /* package url */, from: "1.0.0"),
    ],
    targets: [
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
        // Targets can depend on other targets in this package, and on products in packages this package depends on.
        .target(
            name: "VNDTextField",
            dependencies: []),
        .testTarget(
            name: "VNDTextFieldTests",
            dependencies: ["VNDTextField"]),
    ]
)

Ở đây chúng ta chú ý: 1.products đây là phần định nghĩa chúng ta có thể thấy các file của package khi dùng vào project khác

products: [
        // Products define the executables and libraries a package produces, and make them visible to other packages.
        .library(
            name: "VNDTextField",
            targets: ["VNDTextField"]),
    ],

2.platforms chúng ta thêm tham số vào cho hệ điều hành mình muốn build

platforms: [
            .iOS(.v10)            
        ],

ở đây mình chọn cho hệ điều hành từ iOS 10 Sau khi chỉnh sửa và setup file xong chúng ta tiến hành push code lên GitHub, và sau đó import lại cho project mà bạn muốn sử dụng. Đơn giản phải không nào !

III. Sử dụng lại package vào project của bạn

  1. Đầu tiên chúng ta nhấn chuột vào fiel .xcodeproj -> chọn Swift Packager, chúng ta sẽ có như hình, ở đây mình đã thêm package custom ở trên vào project demo. Image of article

  2. Sau đó chúng ta nhấm vào dấu cộng(+) ở góc trái phía dưới để thêm package bạn muốn vào project, còn nếu muốn xóa package mà bạn đang sử dụng thì nhấn vào dấu trừ(-) nhé. Đây là lúc chúng ta bấm dấu + Image of article

  3. Ở đây bạn paste vào link package của bạn đã tạo trên github, chờ đợi trong vài giây chúng ta sẽ có kết quả như mình đây: Image of article

  4. Mình đã thêm package VNDTextField vào class của mình, và sử dụng lại nó như sau: Image of article

  5. Đây là class mình demo sử dụng lại VNDTextField. Chúng ta cần import lại package ở class mình muốn sử dụng, sau đó bạn có thể sử dụng thoải những gì package cung cấp. Sau khi sử dụng VNDTextField đây là kết quả mà mình đạt được. Image of article

IV. Tổng kết

Thật đơn giản, với Swift Packager bạn có thể tự custom cho mình những class common, tái sử dụng lại nhiều lần, giúp giảm chí phí build lại từ đầu, dynamic hơn. Đồng thời cũng dễ dàng cho bạn thoải sức custom và mong muốn nhiều người sử dụng lại dễ dàng. Từ nay việc sử dụng 1 third party hay class common đã trở nên dễ dàng hơn rất nhiều.

Qua bài viết, hi vọng các bạn có cái nhìn cơ bản về cách tạo Swift Packager và sử dụng lại nó. Đồng thời cũng thêm vào bộ kĩ năng dev iOS của càng bạn trên hành trang fix bug. Hi vọng các bạn yêu thích bài viết này

Mình có tạo 1 Package demo tại đây: https://github.com/ios-lib/VNDTextField

Authors

[email protected]

Leave a Comment

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

You may also like