iOS开发SwiftSwiftUIXcode配置

Swift 创建一个 framework Tips

在开发中,有时我们可以把共通的功能或者画面,打包成一个framework,可以供别的项目直接使用。下面是Swift中创建framework的一个例子。

如何创建一个framework呢?
  • 新建一个Project,选择创建framework。
  • 可以看到framework和App的工程不同,只有一个.h文件。
  • 我们可以创建SwiftUI View,创建Swift Class等等。但是需要注意,暴露出去的View,类,方法等等一定要加Public关键字,否则别人Import这个FrameWork以后是用不了的。
//
//  SettingsRow.swift
//  DemoFramework
//
//  Created by Demo on 2021/12/16.
//

import SwiftUI

public struct SettingsRow: View {
  private var title: String
  private var image: String
  private var showDisclosure: Bool

  public init(_ title: String, image: String, showDisclosure: Bool = false) {
    self.image = image
    self.title = title
    self.showDisclosure = showDisclosure
  }

  public var body: some View {
    HStack(spacing: 8) {
      Image(systemName: image)
        .font(.headline)
        .frame(minWidth: 25, alignment: .leading)
        .accessibility(hidden: true)

      Text(title)

      Spacer()

      if showDisclosure {
        Image(systemName: "chevron.right")
          .accessibility(hidden: true)
      }
    }
  }
}
//
//  Common.swift
//  DemoFramework
//
//  Created by Demo on 2021/12/16.
//

import Foundation

public class CommonUtil {
    
    public class func getRequest(url: URL, parameters: [String: Any]) -> URLRequest? {
        var request = URLRequest(url: url)
        request.httpMethod = "POST"
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
        guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else { return nil }
        request.httpBody = httpBody
        return request
    }
}
  • 如果用到图片资源的话,可以创建Asset Catalog
  • 修改签名
新建一个工程来使用这个FrameWork

  • 新建一个SwiftUI Project(过程略)。
    • 拖动DemoFrameWork工程到DemoApp目录下。
    • 在工程里面还要添加一次这个FrameWork。
    • 追加完文件以后,再次点击+号。
    • 这时会发现多了DemoFrameWork,点击添加。
    • 添加FrameWork的资源文件。
    • 回到Swift工程,可以引入SDK快乐的使用了。