【发布时间】:2015-07-31 15:50:34
【问题描述】:
实际上,我是一名 Unity 开发人员,我对 XCode 和 Objective C 一无所知。但我必须使用 ObjC 库进行一些集成并从 Unity 调用此函数。所以我将该库导入到创建的 XCode 项目并在 Unity 和 XCode 之间编写一些包装器代码。当我尝试调用空函数时,它对我有用。但是当我尝试在 C 文件中编写 ObjC 方法时,它会导致链接器错误,我不知道它有什么问题。所以,这是交易:
在 Unity MonoBehaviour.cs 中:
[DllImport("__Internal")]
public static extern void startWithAPIKey(string apiKey);
...
startWithAPIKey(apiKey);
在 XCode Wrapper.h 中:
@interface IOSYandexMetricaWrapper : NSObject
@end
在 XCode Wrapper.m 中:
#import "YandexMobileMetrica.h" //library header
#import "IOSYandexMetricaWrapper.h"
void startWithAPIKey(char *apiKey) {
//method that i want to call
[YMMYandexMetrica startWithAPIKey:(NSString *)apiKey];
}
所以它编译,但链接器说这样的话:
Undefined symbols for architecture armv7: "_OBJC_CLASS_$_YMMYandexMetrica", referenced from: objc-class-ref in IOSYandexMetricaWrapper.o
有人可以帮我解决我的问题吗?
【问题讨论】:
标签: c++ objective-c c xcode unity3d