简体   繁体   English

错误BI0000意外错误-Xamarin.IOS绑定

[英]Error BI0000 Unexpected error - Xamarin.IOS Bindings

When trying to compile a native bindings project with AdyenCSE SDK, I get the following error: 尝试使用AdyenCSE SDK编译本机绑定项目时,出现以下错误:

/Volumes/DADOS/Empresa1/ios-auto-binding-tool/objc-automatic-master/bindings/AdyenCSE/BTOUCH: Error BI0000: Unexpected error /卷/ DADOS / Empresa1 / ios-auto-binding-tool / objc-automatic-master / bindings / AdyenCSE / BTOUCH:错误BI0000:意外错误

This code was generates by this tool: https://github.com/alexsorokoletov/objc-automatic 该代码是通过以下工具生成的: https : //github.com/alexsorokoletov/objc-automatic

Is there any erros? 有错误吗?

using System;
using Foundation;
using ObjCRuntime;

namespace DreamTeam.Xamarin.AdyenCSE
{
    // @interface ADYAESCCMCryptor : NSObject
    [BaseType (typeof(NSObject))]
    interface ADYAESCCMCryptor
    {
        // +(NSData * _Nullable)encrypt:(NSData * _Nonnull)data withKey:(NSData * _Nonnull)key iv:(NSData * _Nonnull)iv;
        //[Static]
        [Export ("encrypt:withKey:iv:")]
        [return: NullAllowed]
        NSData Encrypt (NSData data, NSData key, NSData iv);

        // +(NSData * _Nullable)encrypt:(NSData * _Nonnull)data withKey:(NSData * _Nonnull)key iv:(NSData * _Nonnull)iv tagLength:(size_t)tagLength adata:(NSData * _Nullable)adata;
        //[Static]
        [Export ("encrypt:withKey:iv:tagLength:adata:")]
        [return: NullAllowed]
        NSData Encrypt (NSData data, NSData key, NSData iv, nuint tagLength, [NullAllowed] NSData adata);
    }

    // @interface ADYCard : NSObject
    [BaseType (typeof(NSObject))]
    interface ADYCard
    {
        // @property (nonatomic, strong) NSDate * _Nullable generationtime;
        [NullAllowed, Export ("generationtime", ArgumentSemantic.Strong)]
        NSDate Generationtime { get; set; }

        // @property (nonatomic, strong) NSString * _Nullable number;
        [NullAllowed, Export ("number", ArgumentSemantic.Strong)]
        string Number { get; set; }

        // @property (nonatomic, strong) NSString * _Nullable holderName;
        [NullAllowed, Export ("holderName", ArgumentSemantic.Strong)]
        string HolderName { get; set; }

        // @property (nonatomic, strong) NSString * _Nullable cvc;
        [NullAllowed, Export ("cvc", ArgumentSemantic.Strong)]
        string Cvc { get; set; }

        // @property (nonatomic, strong) NSString * _Nullable expiryMonth;
        [NullAllowed, Export ("expiryMonth", ArgumentSemantic.Strong)]
        string ExpiryMonth { get; set; }

        // @property (nonatomic, strong) NSString * _Nullable expiryYear;
        [NullAllowed, Export ("expiryYear", ArgumentSemantic.Strong)]
        string ExpiryYear { get; set; }

        // +(ADYCard * _Nullable)decode:(NSData * _Nonnull)json error:(NSError * _Nullable * _Nullable)error;
        //[Static]
        [Export ("decode:error:")]
        [return: NullAllowed]
        ADYCard Decode (NSData json, [NullAllowed] out NSError error);

        // -(NSData * _Nullable)encode;
        [NullAllowed, Export ("encode")]
        //[Verify (MethodToProperty)]
        NSData Encode { get; }
    }

    // @interface ADYCryptor : NSObject
    [BaseType (typeof(NSObject))]
    interface ADYCryptor
    {
        // +(void)setMsgPrefix:(NSString * _Nullable)prefix;
        //[Static]
        [Export ("setMsgPrefix:")]
        void SetMsgPrefix ([NullAllowed] string prefix);

        // +(void)setMsgSeparator:(NSString * _Nullable)separator;
        //[Static]
        [Export ("setMsgSeparator:")]
        void SetMsgSeparator ([NullAllowed] string separator);

        // +(NSString * _Nullable)encrypt:(NSData * _Nonnull)data publicKeyInHex:(NSString * _Nonnull)keyInHex;
        //[Static]
        [Export ("encrypt:publicKeyInHex:")]
        [return: NullAllowed]
        string Encrypt (NSData data, string keyInHex);

        // +(NSData * _Nullable)aesEncrypt:(NSData * _Nonnull)data withKey:(NSData * _Nonnull)key iv:(NSData * _Nonnull)iv;
        //[Static]
        [Export ("aesEncrypt:withKey:iv:")]
        [return: NullAllowed]
        NSData AesEncrypt (NSData data, NSData key, NSData iv);

        // +(NSData * _Nullable)rsaEncrypt:(NSData * _Nonnull)data withKeyInHex:(NSString * _Nonnull)keyInHex;
        //[Static]
        [Export ("rsaEncrypt:withKeyInHex:")]
        [return: NullAllowed]
        NSData RsaEncrypt (NSData data, string keyInHex);

        // +(NSData * _Nonnull)dataFromHex:(NSString * _Nonnull)hex;
        //[Static]
        [Export ("dataFromHex:")]
        NSData DataFromHex (string hex);

        // +(NSData * _Nullable)sha1FromStringInHex:(NSString * _Nonnull)stringInHex;
        //[Static]
        [Export ("sha1FromStringInHex:")]
        [return: NullAllowed]
        NSData Sha1FromStringInHex (string stringInHex);
    }

    // @interface ADYEncrypter : ADYCryptor
    [BaseType (typeof(ADYCryptor))]
    interface ADYEncrypter
    {
        // +(NSString * _Nullable)encrypt:(NSData * _Nonnull)data publicKeyInHex:(NSString * _Nonnull)keyInHex;
        //[Static]
        [Export ("encrypt:publicKeyInHex:")]
        [return: NullAllowed]
        string Encrypt (NSData data, string keyInHex);
    }

    // @interface ADYRSACryptor : NSObject
    [BaseType (typeof(NSObject))]
    interface ADYRSACryptor
    {
        // +(NSData * _Nullable)encrypt:(NSData * _Nonnull)data withKeyInHex:(NSString * _Nonnull)keyInHex;
        //[Static]
        [Export ("encrypt:withKeyInHex:")]
        [return: NullAllowed]
        NSData Encrypt (NSData data, string keyInHex);
    }

    // @interface AdyenUtil (NSDictionary)
    [Category]
    [BaseType (typeof(NSDictionary))]
    interface NSDictionary_AdyenUtil
    {
        // -(NSString * _Nonnull)encodeFormData __attribute__((deprecated("Use -ady_encodeFormData instead.")));
        [Export ("encodeFormData")]
        //[Deprecated(PlatformName.iOS, PlatformArchitecture.All, "Use -ady_encodeFormData instead.")]
        //[Verify (MethodToProperty)]
        string EncodeFormData { get; }

        // -(NSString * _Nonnull)ady_encodeFormData;
        [Export ("ady_encodeFormData")]
        //[Verify (MethodToProperty)]
        string Ady_encodeFormData { get; }
    }

    // @interface AdyenURLEncoding (NSString)
    [Category]
    [BaseType (typeof(NSString))]
    interface NSString_AdyenURLEncoding
    {
        // -(NSString * _Nullable)urlEncodeUsingEncoding:(NSStringEncoding)encoding __attribute__((deprecated("Use -ady_URLEncodedString instead.")));
        [Export ("urlEncodeUsingEncoding:")]
        //[Deprecated(PlatformName.iOS, PlatformArchitecture.All, "Use -ady_URLEncodedString instead.")]
        [return: NullAllowed]
        string UrlEncodeUsingEncoding (nuint encoding);
    }

    // @interface AdyenUtil (NSString)
    [Category]
    [BaseType (typeof(NSString))]
    interface NSString_AdyenUtil
    {
        // -(BOOL)isHexString __attribute__((deprecated("Use -ady_isHexString instead.")));
        [Export ("isHexString")]
        //[Deprecated(PlatformName.iOS, PlatformArchitecture.All, "Use -ady_isHexString instead.")]
        //[Verify (MethodToProperty)]
        bool IsHexString { get; }

        // -(BOOL)ady_isHexString;
        [Export ("ady_isHexString")]
        //[Verify (MethodToProperty)]
        bool Ady_isHexString { get; }

        // -(NSString * _Nullable)URLEncodedString __attribute__((deprecated("Use -ady_URLEncodedString instead.")));
        [NullAllowed, Export ("URLEncodedString")]
        //[Deprecated(PlatformName.iOS, PlatformArchitecture.All, "Use -ady_URLEncodedString instead.")]
        //[Verify (MethodToProperty)]
        string URLEncodedString { get; }

        // -(NSString * _Nullable)ady_URLEncodedString;
        [NullAllowed, Export ("ady_URLEncodedString")]
        //[Verify (MethodToProperty)]
        string Ady_URLEncodedString { get; }
    }
}

I suggest you use CocoaPods with Sharpie ,it works fine on my side. 我建议您将CocoaPods与Sharpie配合使用 ,在我这方面效果很好。

sharpie pod -d Path init ios AdyenCSE && sharpie pod -d Path bind

Result: 结果:

using System;
using AdyenCSE;
using Foundation;
using ObjCRuntime;

// @interface ADYAESCCMCryptor : NSObject
[BaseType (typeof(NSObject))]
interface ADYAESCCMCryptor
{
// +(NSData * _Nullable)encrypt:(NSData * _Nonnull)data withKey:(NSData * _Nonnull)key iv:(NSData * _Nonnull)iv;
[Static]
[Export ("encrypt:withKey:iv:")]
[return: NullAllowed]
NSData Encrypt (NSData data, NSData key, NSData iv);

// +(NSData * _Nullable)encrypt:(NSData * _Nonnull)data withKey:(NSData * _Nonnull)key iv:(NSData * _Nonnull)iv tagLength:(size_t)tagLength adata:(NSData * _Nullable)adata;
[Static]
[Export ("encrypt:withKey:iv:tagLength:adata:")]
[return: NullAllowed]
NSData Encrypt (NSData data, NSData key, NSData iv, nuint tagLength, [NullAllowed] NSData adata);
}

// @interface ADYCard : NSObject
[BaseType (typeof(NSObject))]
interface ADYCard
{
// @property (nonatomic, strong) NSDate * _Nullable generationtime;
[NullAllowed, Export ("generationtime", ArgumentSemantic.Strong)]
NSDate Generationtime { get; set; }

// @property (nonatomic, strong) NSString * _Nullable number;
[NullAllowed, Export ("number", ArgumentSemantic.Strong)]
string Number { get; set; }

// @property (nonatomic, strong) NSString * _Nullable holderName;
[NullAllowed, Export ("holderName", ArgumentSemantic.Strong)]
string HolderName { get; set; }

// @property (nonatomic, strong) NSString * _Nullable cvc;
[NullAllowed, Export ("cvc", ArgumentSemantic.Strong)]
string Cvc { get; set; }

// @property (nonatomic, strong) NSString * _Nullable expiryMonth;
[NullAllowed, Export ("expiryMonth", ArgumentSemantic.Strong)]
string ExpiryMonth { get; set; }

// @property (nonatomic, strong) NSString * _Nullable expiryYear;
[NullAllowed, Export ("expiryYear", ArgumentSemantic.Strong)]
string ExpiryYear { get; set; }

// +(ADYCard * _Nullable)decode:(NSData * _Nonnull)json error:(NSError * _Nullable * _Nullable)error;
[Static]
[Export ("decode:error:")]
[return: NullAllowed]
ADYCard Decode (NSData json, [NullAllowed] out NSError error);

// -(NSData * _Nullable)encode;
[NullAllowed, Export ("encode")]
[Verify (MethodToProperty)]
NSData Encode { get; }
}

// @interface ADYCryptor : NSObject
[BaseType (typeof(NSObject))]
interface ADYCryptor
{
// +(void)setMsgPrefix:(NSString * _Nullable)prefix;
[Static]
[Export ("setMsgPrefix:")]
void SetMsgPrefix ([NullAllowed] string prefix);

// +(void)setMsgSeparator:(NSString * _Nullable)separator;
[Static]
[Export ("setMsgSeparator:")]
void SetMsgSeparator ([NullAllowed] string separator);

// +(NSString * _Nullable)encrypt:(NSData * _Nonnull)data publicKeyInHex:(NSString * _Nonnull)keyInHex;
[Static]
[Export ("encrypt:publicKeyInHex:")]
[return: NullAllowed]
string Encrypt (NSData data, string keyInHex);

// +(NSData * _Nullable)aesEncrypt:(NSData * _Nonnull)data withKey:(NSData * _Nonnull)key iv:(NSData * _Nonnull)iv;
[Static]
[Export ("aesEncrypt:withKey:iv:")]
[return: NullAllowed]
NSData AesEncrypt (NSData data, NSData key, NSData iv);

// +(NSData * _Nullable)rsaEncrypt:(NSData * _Nonnull)data withKeyInHex:(NSString * _Nonnull)keyInHex;
[Static]
[Export ("rsaEncrypt:withKeyInHex:")]
[return: NullAllowed]
NSData RsaEncrypt (NSData data, string keyInHex);

// +(NSData * _Nonnull)dataFromHex:(NSString * _Nonnull)hex;
[Static]
[Export ("dataFromHex:")]
NSData DataFromHex (string hex);

// +(NSData * _Nullable)sha1FromStringInHex:(NSString * _Nonnull)stringInHex;
[Static]
[Export ("sha1FromStringInHex:")]
[return: NullAllowed]
NSData Sha1FromStringInHex (string stringInHex);
}

// @interface ADYEncrypter : ADYCryptor
[BaseType (typeof(ADYCryptor))]
interface ADYEncrypter
{
// +(NSString * _Nullable)encrypt:(NSData * _Nonnull)data publicKeyInHex:(NSString * _Nonnull)keyInHex;
[Static]
[Export ("encrypt:publicKeyInHex:")]
[return: NullAllowed]
string Encrypt (NSData data, string keyInHex);
}

// @interface ADYRSACryptor : NSObject
[BaseType (typeof(NSObject))]
interface ADYRSACryptor
{
// +(NSData * _Nullable)encrypt:(NSData * _Nonnull)data withKeyInHex:(NSString * _Nonnull)keyInHex;
[Static]
[Export ("encrypt:withKeyInHex:")]
[return: NullAllowed]
NSData Encrypt (NSData data, string keyInHex);
}

// @interface AdyenUtil (NSDictionary)
[Category]
[BaseType (typeof(NSDictionary))]
interface NSDictionary_AdyenUtil
{
// -(NSString * _Nonnull)encodeFormData __attribute__((deprecated("Use -ady_encodeFormData instead.")));
[Export ("encodeFormData")]
[Verify (MethodToProperty)]
string EncodeFormData { get; }

// -(NSString * _Nonnull)ady_encodeFormData;
[Export ("ady_encodeFormData")]
[Verify (MethodToProperty)]
string Ady_encodeFormData { get; }
}

// @interface AdyenURLEncoding (NSString)
[Category]
[BaseType (typeof(NSString))]
interface NSString_AdyenURLEncoding
{
// -(NSString * _Nullable)urlEncodeUsingEncoding:(NSStringEncoding)encoding __attribute__((deprecated("Use -ady_URLEncodedString instead.")));
[Export ("urlEncodeUsingEncoding:")]
[return: NullAllowed]
string UrlEncodeUsingEncoding (nuint encoding);
}

// @interface AdyenUtil (NSString)
[Category]
[BaseType (typeof(NSString))]
interface NSString_AdyenUtil
{
// -(BOOL)isHexString __attribute__((deprecated("Use -ady_isHexString instead.")));
[Export ("isHexString")]
[Verify (MethodToProperty)]
bool IsHexString { get; }

// -(BOOL)ady_isHexString;
[Export ("ady_isHexString")]
[Verify (MethodToProperty)]
bool Ady_isHexString { get; }

// -(NSString * _Nullable)URLEncodedString __attribute__((deprecated("Use -ady_URLEncodedString instead.")));
[NullAllowed, Export ("URLEncodedString")]
[Verify (MethodToProperty)]
string URLEncodedString { get; }

// -(NSString * _Nullable)ady_URLEncodedString;
[NullAllowed, Export ("ady_URLEncodedString")]
[Verify (MethodToProperty)]
string Ady_URLEncodedString { get; }
}

[Static]
[Verify (ConstantsInterfaceAssociation)]
partial interface Constants
{
// extern double AdyenCSEVersionNumber;
[Field ("AdyenCSEVersionNumber", "__Internal")]
double AdyenCSEVersionNumber { get; }

// extern const unsigned char [] AdyenCSEVersionString;
[Field ("AdyenCSEVersionString", "__Internal")]
byte[] AdyenCSEVersionString { get; }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM