[英]How to pass arguments from iOS (Objc/Swift) to Unity that are structs/classes? (without using UnitySendMessage)
[英]How to call UnitySendMessage method in swift?
我尝试使用快速语言在我的iOS Framework项目中调用UnitySendMessage方法,但它显示此错误-
使用未解决的标识符“ UnitySendMessage”
这是我的swift文件的代码段-
import Foundation
@objc public class Example : NSObject{
@objc open static let shared = Example()
@objc open func printMsg(){
print("\(#function) is called with message:");
UnitySendMessage("CallbackTarget", "OnCallFromSwift", "Hello, Unity!");
}
}
卡在这里,你能告诉我我在想什么吗?
在这里检查答案。
UnitySendMessage在libiPhone-lib.a中,据我所知,Unity成员不包含任何声明它的标头。
我刚刚在代码中添加了以下内容
extern void UnitySendMessage(const char *,const char *,const char *);
如果查看生成的AppController.mm,它们基本上对各种UnitySendXXX函数执行相同的操作,而不是包含标题。
话虽如此,虽然您将能够构建一个调用UnitySendMessage的库,但除非将其链接到Unity项目中,否则该库可能无法工作,因为UnitySendMessage实际需要的不仅仅是libiPhone-lib.a。
只需将此代码添加到您的Bridging-Header.h文件中:
#import "UnityInterface.h"
确保您的文件位于从Unity构建的XCode项目中,因此存在由unity创建的实际UnityInterface文件。
为我工作:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.