![](/img/trans.png)
[英]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.