Ios 如何在swift中调用UnitySendMessage方法?
我尝试在iOS框架项目中使用swift语言调用UnitySendMessage方法,但它显示了此错误- 使用未解析标识符“UnitySendMessage” 下面是我的swift文件的代码片段-Ios 如何在swift中调用UnitySendMessage方法?,ios,swift,unity3d,Ios,Swift,Unity3d,我尝试在iOS框架项目中使用swift语言调用UnitySendMessage方法,但它显示了此错误- 使用未解析标识符“UnitySendMessage” 下面是我的swift文件的代码片段- import Foundation @objc public class Example : NSObject{ @objc open static let shared = Example() @objc open func printMsg(){ print("
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人员不包含任何声明它的头
我刚刚在代码中添加了以下内容
外部无效UnitySendMessage(常量字符*,常量字符*,常量字符
*);
如果查看生成的AppController.mm,它们基本上执行以下操作:
对于不同的UnitySendXXX函数也是如此,而不是
包括一个标题
话虽如此,但您将能够构建一个调用
UnitySendMessage,除非链接,否则该库可能无法工作
进入Unity项目,因为UnitySendMessage需要更多
而不仅仅是libiPhone lib.a才能真正工作
只需将此代码添加到桥接头.h文件:
#import "UnityInterface.h"
确保文件位于从Unity生成的XCode项目中,这样Unity创建的实际UnityInterface文件就存在了
为我工作:)检查此项:Dharmesh,感谢分享本文。我尝试过这种方法,如果我在通过Unity生成的iOS项目中创建swift文件,它就可以工作,但是如果我在iOS框架项目中创建swift文件,它就不起作用了。谢谢,但是如何在我的框架项目中添加libiPhone lib.a在哪里粘贴extern void UnitySendMessage(constchar*,constchar*,constchar*);。。。我粘贴在UnityAppController.mm的顶部,但得到一个错误“未知类型名'constchar'”。