繁体   English   中英

如何快速调用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM