问题标签 [objc-bridging-header]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 将 Swift 框架集成到 Objective C 项目的步骤?
我有一个 Objective C 项目,我需要一个可滚动的选项卡。所以我遇到了下面的框架scrollableTab
它是一个快速的框架,我使用可可豆荚添加了它。
我可以添加@import SlidingContainerViewController;但我无法访问某些属性,例如
这些属性位于另一个 swift 文件 SlidingContainerSliderView.swift 中。
请提出任何其他解决方案。
我也对PageMenu有问题,它是一个 Swift 框架。我将它添加到我的目标 C 项目中。
@import 页面菜单;@property (nonatomic) CAPSPageMenu *pagemenu;
正常工作,但无法加载任何内容,以下是抛出错误:使用未声明的标识符 'CAPSPageMenuOptionMenuItemSeparatorWidth'、'CAPSPageMenuOptionUseMenuLikeSegmentedControl'、'CAPSPageMenuOptionMenuItemSeparatorPercentageHeight'
这是 CAPSPageMenu+Options.swift 文件中的公共枚举 CAPSPageMenuOption { case selectionIndicatorHeight(CGFloat) case menuItemSeparatorWidth(CGFloat) }
swift3 - CocoaPod 在框架模块内包含非模块化头文件
我正在用 Swift 制作一个开源库,它使用第三方库(MailCore),它本身就在 Obj-C 中,所以我在我的库中添加了一个桥接头。
当我在示例项目中运行时,该库本身运行良好,但是当我尝试在 Swift 项目中将其用作 CocoaPod 时,编译器会显示以下错误:
Include of non-modular header inside framework module 'MyLib.MyLib_Bridging_Header': 'path/to/my/otherProject/Pods/Headers/Public/mailcore2-ios/MailCore/MailCore.h'
PS - 我在使用可可豆荚的 Swift 项目中使用我的库use_frameworks!
你能帮我解决这个问题吗?
编辑 :
我无意将其作为框架,这个问题是关于框架的。
ios11 - Xcode 9 中的 Swift 集成问题?
我正在开发一个用 Swift 编写的应用程序。我添加了 Objective-C 类。我已经完成了这里描述的所有事情,现在我可以在 Swift 文件中使用我所有的 Objective-C 类,但不能在 Objective-C 类中访问 Swift 文件。即使我无法在我的 Objective-C 类中导入文件“MyProjectName-Swift.h”。
我还完成了以下设置:
1:定义模块:是
2:产品模块名称:(确保项目模块名称不包含任何特殊字符)。
3:安装 Objective-C 兼容性标头:是
4:Objective-C生成的接口头文件: myProjectName-Swift.h
5:Objective-C 桥接头: $(SRCROOT)/myProject-Bridging-Header.h
但没有运气。有人可以告诉我我做错了什么或缺少什么。您的帮助和经验将不胜感激。
objective-c - 从 Swift 代码实例化目标 C 控制器时出现这个奇怪的错误
我在现有的 swift 基础项目中添加了一组 Objective C 类和一个故事板。我还添加了桥接头文件,但是当我从 swift 代码中实例化一个目标 c 类时,我遇到了这个错误。我已经看到了很多答案和问题,但没有一个可以解决我的问题。
我还根据此链接检查了 .m 文件,并且一切都在那里。我在界面下添加了@implementation。
体系结构 x86_64 的未定义符号:“_OBJC_CLASS_$_ContactViewController”,引用自:ContactVC.o ld 中的 objc-class-ref:未找到体系结构 x86_64 的符号:错误:链接器命令失败,退出代码为 1(使用 -v查看调用)
这是我的快速代码。
objective-c - 由于框架中的 Obj-C 桥接,Swift 性能降低了 10 倍?
我正在开发一个性能密集型的 Swift 应用程序,大部分快速代码都驻留在框架内。我的昂贵函数之一涉及迭代超过 200 万个元素的结构数组。不幸的是,Obj-C 桥使 Swift Array 的性能比它应该的慢了一个数量级。我大约 90% 的周期都浪费在_ArrayBuffer._checkInoutAndNativeTypeCheckedBounds
与桥接相关的保留和发布上。如果我放弃框架并简单地将那些相同的文件包含在我的目标中,性能会提高 10 倍。但是,如果可能的话,我更愿意保留框架。
有没有办法告诉我的框架不要做任何 Obj-C 桥接,即直接使用 Swift?
ios - 没有这样的模块 Common Crypto
我正在使用 swift 3.2。我制作了一个桥接头文件,其中包含以下内容:
在我的项目构建设置中,我指向我的桥接头文件,但'No such module CommonCrypto'
在我使用 import CommonCrypto 的类中仍然出现错误
更新:头文件:
objective-c - Swift 中的 Objective-C 方法参数
调用在 Objective-C 中声明并桥接到 Swift 的方法时遇到一些问题。我在有问题的方法旁边创建了一个 void 方法并且能够调用它,所以我很确定它与桥接处理方法参数的方式有关。
然后在 Swift 文件中,我像这样调用每个文件:
Swift 抱怨“ 'ModelUtil' 类型的值没有成员 'fetchProductHistoryforProduct' ”
你能告诉我我做错了什么吗?
objective-c - 来自导入的 Objc 头文件中#define 的未解析标识符
我有一个 Obj-c 类“constants.h”,如下所示:
在我的 myProduct-Bridging-Header.h 中,我有:
但是,当我在 Swift 类中调用 kLookAhead 时,例如像这样
我收到错误消息“使用未解析的标识符‘kLookAhead’”
我在 myProduct-Bridging-Header.h 中导入的所有其他类都运行良好,并且 kLookAhead 在我的 objc 类中成功使用。
有什么我应该知道的吗?
swift - 无法将 swift 类的可选委托访问到目标 c 项目中
我在我的目标 c 项目中使用 swift pod 文件,当我尝试设置 swift 类的委托时,我看不到数据源和委托的位置。我无法访问它。谁能告诉我无法访问它的原因。
swift 还有哪些我们无法访问的东西?
ios - 在 Objective-C 项目中找不到 Swift 类
我正在开发一个使用 Objective-C 开发的 iOS 项目。我需要在其中集成一些 Swift 文件。所以,做了以下事情:
- 添加了一个名为“temp”的新 Swift 文件,以便
MyProject-Bridging-Header.h
由我的 Xcode IDE(版本 9.1)添加。 - 将我要使用的 Swift 文件添加到项目中。
- 将目标设置更改
Defines Module
为“是”。 - 同样,“产品模块名称”设置为“MyProject”。
- 我可以看到
MyProject-swift.h
设置“Objective-C Generated Interface Header Name”的文件名。 myProject-swift.h
在我的一个 Objective-C .m 文件中添加了 import 语句,并且能够成功构建项目。myProject-swift.h
我签入了已创建的 Finder 。- 确保 Swift 类声明中的 @obj 前缀。
尽管如此,当我尝试使用任何 Swift 类时,都会出现编译时错误“未声明标识符的用户”。
问题的原因可能是什么?我错过了什么吗?