我尝试将 Unity 构建到 iOS。
我有一个从 Unity 到 iOS 的方法调用,
当我将鼠标悬停在变量上时,我可以看到详细信息,但是当我调用该变量时,它会抛出 EXC_BAD_ACCESS。
为什么?有什么建议吗
这是代码:
团结号召:
// call
saveLoginConfig(config);
[DllImport("__Internal")]
private static extern void saveLoginConfig(LinLoginConfig config);
统一对象
[Serializable]
public struct LinLoginConfig
{
public bool haveEmail;
}
ios 桥
extern void saveLoginConfig(const LinLoginConfig &config) {
NSLog(@"saveLoginConfig haveEmail0"); // line1
NSLog(@"saveLoginConfig haveEmail1:%@", &config); // line2
}
ios 对象
@interface LinLoginConfig : NSObject
@property(nonatomic, assign) bool haveEmail;
@end
为什么会这样?帮忙~
这可能不是最好的解决方案,但它有效:
只需在
Objective-C++
文件中分配自定义类型,而不是在 Objective-C
文件中。
像这样:
extern "C" {
class CustomType {
public:
bool haveEmail;
...
};
}
而且它有效。
这可能不是最好的解决方案,但它有效:
只需在
Objective-C++
文件中分配自定义类型,而不是在 Objective-C
文件中。
像这样:
extern "C" {
class CustomType {
public:
bool haveEmail;
...
};
}
而且它有效。