如何快速调用UnitySendMessage方法?

时间:2018-07-05 13:41:56

标签: ios swift unity3d

我尝试使用快速语言在iOS Framework项目中调用UnitySendMessage方法,但显示此错误-

使用未解析的标识符'UnitySendMessage'

这是我的快速文件的代码片段-

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!");
    }
}

被困在这里,你能告诉我我在想什么吗?

2 个答案:

答案 0 :(得分:2)

选中答案here

  

UnitySendMessage位于libiPhone-lib.a中,据我所知,   Unity人员不包含任何声明它的标头。

     

我刚刚在代码中添加了以下内容

     

extern void UnitySendMessage(const char *,const char *,const char   *);

     

如果您查看生成的AppController.mm,它们基本上会   各种UnitySendXXX函数的功能相同,而不是   包括标题。

     

话虽如此,您将能够建立一个调用   UnitySendMessage,除非链接,否则该库可能无法工作   进入Unity项目,因为UnitySendMessage将需要更多   不仅仅是libiPhone-lib.a真正起作用。

答案 1 :(得分:0)

只需将此代码添加到您的Bridging-Header.h文件中:

tts is null

确保您的文件位于从Unity构建的XCode项目中,因此存在由unity创建的实际UnityInterface文件。

为我工作:)