无法访问 Objective-C 中的 Swift 框架

Cannot access Swift Framework in Objective-C

创建 Swift 框架,

Geolens.swift

当我尝试访问 Objective-C 项目时,无法调用 2 个方法

createuser & startSessionForUser

出现这样的错误

Method cannot be marked @objc because the type of the parameter cannot be represented in Objective-C

添加@objc:

@objc public func createUser(...) { ... }
@objc public func startSessionForUser(...) { ... }

如果您还希望在 Obj-C 中访问这些方法,请确保在所有方法的定义中添加 @objc public。就像您在 class.

中的 didRegister...didFailedToRegisrer... 方法中所做的一样

快乐编码...

您的问题在 UserCompletionBlock 中的 errorCode: Int? 中。

Intvalue type,而Objective C不能表示value typeOptional,只能表示reference typesclass会.

所以你必须:

  1. 去掉可选性
  2. 使用引用类型,例如 NSNumber 或您自己的包装器
  3. 完全放弃这个参数