Попытка вызова пользовательской функции Objective C в форме C #. Однако он продолжает говорить, что он не определен.
Всякий раз, когда я пытаюсь встроить Xcode, он говорит, что _ShowDropIn не определен?
Функция определяется как:
#import <Foundation/Foundation.h>
//#import "BraintreeCore.h"
#import <BraintreeCore.h>
#import <BraintreeDropIn.h>
@interface BrainTreeHandler : UIViewController
#ifdef _cplusplus
extern "C"{
-(void)ShowDropIn:(const char *)clientTokenOrTokenizationKey;
}
#endif
@end
@implementation BrainTreeHandler
#ifdef __cplusplus
extern "C"
{
-(void)ShowDropIn:(const char *)clientTokenOrTokenizationKey{
BTDropInRequest *request = [[BTDropInRequest alloc] init];
BTDropInController *dropIn = [[BTDropInController alloc]initWithAuthorization:clientTokenOrTokenizationKey request:request
handler:^(BTDropInController * _Nonnull controller, BTDropInResult * _Nullable result, NSError * _Nullable error) {
if (error != nil) {
NSLog(@"ERROR");
} else if (result.cancelled) {
NSLog(@"CANCELLED");
} else {
// Use the BTDropInResult properties to update your UI
// result.paymentOptionType
// result.paymentMethod
// result.paymentIcon
// result.paymentDescription
}
}];
[self presentViewController:dropIn animated:YES completion:nil];
}
#endif
@end
Звонок с кода Unity C #
[DllImport("__Internal")]
private static extern void ShowDropIn(string s);
void ShowBrainTree(){
//clientToke is a string
ShowDropIn(clientToken);
}
Эта функция должна вызывать пользовательский интерфейс дерева мозга, но прямо сейчас выдает мне неопределенную ошибку.