我想在swift或objective-c中包含BluetoothManager框架,有问题

Posted

技术标签:

【中文标题】我想在swift或objective-c中包含BluetoothManager框架,有问题【英文标题】:I want to include BluetoothManager framework in swift or objective-c, having problems 【发布时间】:2015-06-12 10:52:15 【问题描述】:

我在项目中遇到包括框架在内的问题。

我已经从https://github.com/nst/ios-Runtime-Headers/tree/master/PrivateFrameworks 下载了私有 API 据我了解,这为我提供了与 xcode 中已有的框架一起使用的头文件。 我已将头文件添加到 xcode for bluetoothmanager 的框架文件夹中。 我还在 xcode 中包含了这个框架。

“框架搜索路径”是:

/Applications/Xcode.app/Contents/Develop­er/Platforms/iPhoneOS.platform/Developer­/SDKs/iPhoneOS.sdk/System/Library/Privat­eFrameworks

这是我的 xcode 文件夹结构的图片:

当我尝试包含头文件时,我收到错误“未找到蓝牙管理器/蓝牙管理器.h 文件”。

下面是代码:

#include <BluetoothManager/BluetoothManager.h>

【问题讨论】:

【参考方案1】:

Objective-C 与 C/C++ 有这个共同点;引用的形式用于“本地”包含文件(您需要指定当前文件的相对路径,例如#include "headers/my_header.h"),而尖括号形式用于“全局”包含——在包含的某处找到的那些传递给编译器的路径(例如#include &lt;math.h&gt;)。

所以要让你自己的头文件使用 而不是“”,你需要将头文件目录的相对路径或绝对路径传递给编译器。

【讨论】:

谢谢!我会在星期一回来工作时检查! 奇怪的是我仍然找不到它。我已经包含了正确的路径。我在代码中包含#import 。 - 错误找不到文件.... 好的,我解决了。我正在使用桥接头,因为我用 swift 编写并想导入objective-c 标头。现在问题变成了我在框架中的头文件给出了很多错误。像 xcode 这样的东西试图在 Objective-c 头文件上使用 swift 进行编译..? 如果你想导入Obj-c to SwiftSwift to Obj-c?如果导入是从 Obj-C Swift 步骤中导入的,您应该指出它们是: 1. 创建一个包含所有框架和/或用 Obj-c 编写的文件的 Header.h 综合文件,并添加文件 Header.h 一个项目设置。如果您对如何操作有任何疑问,我推荐这个问题:link。

以上是关于我想在swift或objective-c中包含BluetoothManager框架,有问题的主要内容,如果未能解决你的问题,请参考以下文章

如何搜索显示名称中包含字母(或少数字母)的用户

如何使用可用于 Swift 类的 std:vector 制作 Objective-c 类

Objective-C 库的 Swift “使用未声明的类型”

Objective-C 库的 Swift “使用未声明的类型”

有没有办法在 Rust 库中包含二进制或文本文件?

如何在 swift 中包含多个功能的完成处理程序?