gpt4 book ai didi

xcode - 在 iOS 应用程序项目中使用 Swift 代码在 iOS Cocoa 静态库项目中使用 Objective-C 代码

转载 作者:可可西里 更新时间:2023-11-01 00:53:34 26 4
gpt4 key购买 nike

我正在寻找一个简单的过程,用于将共享库项目中的 Objective-C 代码与应用程序项目中的 Swift 代码结合起来,但到目前为止没有成功:

  1. 启动 Xcode 6.1.1
  2. 创建工作区测试
  3. 创建 iOS Cocoa Touch 静态库项目 TestLibrary 并将其添加到工作区
  4. 创建 iOS 单 View 应用程序项目测试(语言:Swift)并将其添加到工作区
  5. import TestLibrary 添加到 ViewController.swift

如果我现在构建测试,我会在 ViewController.swift 中收到此错误:No such module: ‘TestLibrary’

大概必须克服两个障碍:

  1. 告诉 TestLibrary 应该“导出”TestLibrary.h。添加(大概)所需的 bridging header 的正确语法和过程是什么?文件?
  2. 告诉测试测试库所在的位置。由于应用程序和静态库项目都属于同一个工作区(并且在文件系统中彼此相邻),我假设不需要明确的步骤,或者是否需要?

所以总而言之,我的问题是:即使我随后将 let test = TestLibrary() 添加到 ViewController.swift,我如何克服构建错误,即如何测试(Swift 代码库) 使用 TestLibrary(Objective-C 代码库)?

最佳答案

此过程似乎有效(对于单个应用程序目标):

  1. 不要添加 import TestLibrary,因为 Swift 和 Objective-C 代码将驻留在同一个应用程序目标中
  2. 创建 Test-Bridging-Header.h 以测试并添加 #import "TestLibrary/TestLibrary.h"
  3. 设置build设置 Objective-C Bridging Header: Test/Test-Bridging-Header.h for Test
  4. 将 libTestLibrary.a 从 TestLibrary(在 Products 下)拖到 Test's Link Library With Binaries(在 Build Phases 下)
  5. 添加 let test = TestLibrary() 例如在 ViewController.swift 中的 viewDidLoad

瞧...

关于xcode - 在 iOS 应用程序项目中使用 Swift 代码在 iOS Cocoa 静态库项目中使用 Objective-C 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27373554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com