- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 Swift 语言创建了一个 xcframework。
我也用@objc 标记了.swift 类。
我尝试在 objective-c 项目中使用
任何人都可以帮助如何将 xcframework 与 Objective-C 代码一起使用。
最佳答案
在制作 xcframework 并开始将它们集成到您的项目之前,制作您的库非常重要。
静态库 (.a)
你的类和它的方法应该是公开的并用 @objc
标记。在 Objc 中可见:
@objc public class SwiftHelloStatic : NSObject {
@objc static public func hello() {
print("Hello Static Library!")
}
}
首先将您的“Objective-c Generated Interface Header”(例如 SwiftHelloStatic-Swift.h)添加到“Build Phases > Copy Files”,例如从您的目的地或从 DeviredData 文件夹:
xcodebuild -create-xcframework
-library arm64/libSwiftHelloStatic.a -headers arm64/include
-library x86_64/libSwiftHelloStatic.a -headers x86_64/include
-output SwiftHelloStatic.xcframework
在验证之后,您的 SwiftHelloStatic.xcframework 在拱形文件夹中有“Headers”文件夹:
#import <SwiftHelloStatic/SwiftHelloStatic-Swift.h>
...
[SwiftHelloStatic hello];
动态框架(.framework)
Build Library for Distrubution
是,然后为所需的拱门(arm64,x86_64,...)构建您的框架,并从它们构建您的 xcframework,例如:
xcodebuild -create-xcframework
-framework arm64/SwiftHello.framework
-framework x86_64/SwiftHello.framework
-output SwiftHello.xcframework
现在只需使用“Embed & Sign”将 xcframework 拖放到“General > Frameworks, Libraries and Embedded Content”。
#import <SwiftHello/SwiftHello.h>
那是因为一个有效的 xcframework 包含针对其所有目标平台的单独动态框架,并且在编译时链接其中一个所需的动态框架,以便将 header 导入代码与常规框架相同。
SWIFT_CLASS("_TtC10SwiftHello5Hello")
@interface Hello : NSObject
+ (void)hello;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
关于ios - 将 XCFramework 与 Objective-C 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65624785/
上一届 WWDC 介绍了 XCFramework,这是一种分发通用框架的简单方法。我一直在使用它,效果很好。 现在,假设我有一个应用程序“A”,它嵌入了框架“B”(如 .xcframework),而框
我想使用适用于 iOS 的 Xcode 12.4 将一些 XCFrameworks 放入伞式框架或伞式 xcframework 中。我尝试了这些线程中提到的所有方法。但是,我无法让它适用于我的客户端应
尝试在 cocos2d-x 4.0 中使用 CMake 集成 firebase 6.23.0 是否有可用的示例。 最佳答案 您可以执行以下工作以使用最新的 firebase sdks。 尝试直接从特定
Xcode 有时找不到用于增量构建的 xcframework。 错误是 ld: framework not found [framework] 其中 [framework] 是我的 xcframewo
我可以在 .framework 中使用 .xcframework 吗? 当我尝试这个框架目标时构建良好,但是当我在 iOS 应用程序目标中使用这个框架时,它给出了构建错误 例如: MyApp 是 iO
我创建了一个 .xcframework 使用 Xcode 11.0 命令行。如果我只是将它拖放到 Xcode 11.0 以上的任何 Xcode 项目上,它就可以正常工作。我已经尝试过 Xcode 11
我有一个依赖于几个静态框架的 XCFramework。 我的 XCFramework 是在启用 BUILD_FOR_LIBRARIES_FOR_DISTRIBUTION 的情况下构建的。 不需要从 X
我正在尝试创建一个 .xcframework我正在使用的一些第三方库的文件。按照 https://appspector.com/blog/xcframeworks 中的说明进行操作, 一世 创建特定于
我有一个 Xcode 工作区,其中一个项目具有 iOS 应用程序目标,另一个项目具有框架目标。该框架目标依赖于另一个框架,该框架以xcframework的形式集成。 : 我的应用程序 我的框架 其他框
问题 我正在开发一个框架(我们将其命名为 MyFramework ),我想在主机 iOS 应用程序中使用它。 MyFramework取决于其他几个第三方库( Alamofire 、 ZIPFounda
我们的目标是创建一个框架来隐藏我们的内部代码并向我们的客户提供 SDK。 我们已经考虑创建满足我们要求的 XCFramework。互联网上也建议使用伞形框架,但大多建议避免这种方法。我们的框架依赖于我
我正在开发一个 iOS 应用程序,该应用程序使用单独的 SDK 来处理一些常见的业务逻辑。该 SDK 是在另一个单独的项目中开发的,该项目创建一个动态二进制框架作为输出。该框架的捆绑类型是 Apple
情况 我刚刚迁移到最新的 XCode12.4,因此我已将所有依赖项预编译为 xcframeworks .现在我正在使用 xcconfig链接到其中一些框架。 我有一个应用程序,它使用了几个预编译的 x
Edit (2020/09/14): This appears to have been an Xcode bug that has now been fixed as of Xcode 12 bet
在创建 XCFramework 时,我在终端上收到了下面提到的消息,并且没有生成 xcframeworkA library with the identifier "ios-armv7_arm64"
Xcode(11.2.1 和 11.3.1)在使用 XCFrameworks 时无法找到 x86_64 架构符号。问题在于架构在 XCFramework 内部,但首先让我向您展示该框架是如何创建的。
我用 Swift 语言创建了一个 xcframework。 我也用@objc 标记了.swift 类。 我尝试在 objective-c 项目中使用 ,但它显示 Module not found 错误
目前我正在一个框架项目中工作,以分发给我们拥有的客户。该框架具有 SPM 依赖项,我想从中创建一个 XCFramework。我找到了使用 xcodebuild 归档和生成 XCFramework 的脚
在 xcode 中遇到错误后,我更新了我的 react native 项目 安卓没有问题 错误: 我的新 package.json "@react-native-firebase/admob": "^
我发现如果正常的第三方框架没有在项目设置中设置为“嵌入”,项目将无法构建(错误:未加载图像)。 但是,这一次,我将这个第三方框架重新构建为 XCFramework,并且在 XCFramework 的“
我是一名优秀的程序员,十分优秀!