首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Xcode10.1中创建和使用swift静态库

在Xcode10.1中创建和使用swift静态库
EN

Stack Overflow用户
提问于 2019-01-17 07:17:10
回答 4查看 3.4K关注 0票数 3

我计划创建swift静态库,并在ios swift应用程序中使用。我创建了一个名为SimpleLib的快速静态库,它包含一个公共类Greeting,它返回Hello World字符串:

代码语言:javascript
复制
//
//  Greeting.swift
//  SimpleLib
//

import Foundation

public class Greeting {
   public func Hello() -> String {
     return "Hello World";
   }
   public init() {

   }

   public static func SayMorning() -> String{
      return "Hi, Morning";
   }
}

swift静态库项目如下所示:

module.modulemap定义如下:

代码语言:javascript
复制
module SimpleLib {
  header "SimpleLib-Swift.h"
  export *
}

我构建并制作了一个libSimpleLib.a文件,我将.a和其他文件(在互联网上的其他帖子提到需要放在app文件夹中)放在app文件夹中:

在应用程序项目中,我在FREAMEWORK_SEARCH_PATHS、LIBRARY_SEARCH_PATHS和HEADER_SEARCH_PATHS中包含Libs路径,并在链接框架中包含.a文件

但是,当我尝试在AppDelegate中引用Greeting类时,我得到了错误-使用未解析的标识符'Greeting‘

代码语言:javascript
复制
//
//  AppDelegate.swift
//  testStatic
//

import UIKit
import SimpleLib


@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

   var window: UIWindow?

   func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
      // Override point for customization after application launch.
      var s = Greeting
      return true
   }
 ......
 }

如何在静态库中制作Swift对象,可以在App中引用。在swift静态库中导出类/函数的正确步骤是什么?有人成功地在iOS应用程序中构建并使用了swift静态库吗?

EN

回答 4

Stack Overflow用户

发布于 2019-01-25 15:09:30

在应用程序的SWIFT_INCLUDE_PATHS设置中包含您的module.modulemaparm64.swiftmodule路径。

票数 3
EN

Stack Overflow用户

发布于 2019-01-17 07:48:42

问题是您的类与您的模块具有相同的名称。尝试使用simple.simple()创建类的实例,或者重命名模块或类。

票数 0
EN

Stack Overflow用户

发布于 2019-10-03 03:22:24

确保将构建产品中的.a库和相关.swiftmodule添加到应用程序文件中。然后在“链接框架和库”中链接.a库,并确保它出现在构建阶段的“链接二进制文件与库”中。

最后,在构建设置中,在"Swift编译器-搜索路径“>”导入路径“下,将路径添加到.swiftmodule文件夹。这些路径是相对于.xcodeproject的。

确保您正在使用的类和方法是开放的或公共的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54226824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档