xamarin IOS にfreshChatを統合したいので、IOS バインディング ライブラリを追加し、ApiDefinition、LibFDFreshChatSDK.a & Struct を追加して、そこから Dll を作成しました。
生成された DLL をコピーし、Xamarin IOS に参照を追加します。
パラメータに AppId と AppKey を渡して FreshchatConfig のオブジェクトを作成すると、例外がスローされます
「タイプ 'Foundation.You_Should_Not_Call_base_In_This_Method' の例外がスローされました」
// @interface FreshchatConfig : NSObject
[BaseType(typeof(NSObject))]
[Model]
public interface FreshchatConfig
{
// @property (nonatomic, strong) NSString * appID;
[Export("appID", ArgumentSemantic.Strong)]
string AppID { get; set; }
// @property (nonatomic, strong) NSString * appKey;
[Export("appKey", ArgumentSemantic.Strong)]
string AppKey { get; set; }
// @property (nonatomic, strong) NSString * domain;
[Export("domain", ArgumentSemantic.Strong)]
string Domain { get; set; }
// @property (nonatomic, strong) NSString * themeName;
[Export("themeName", ArgumentSemantic.Strong)]
string ThemeName { get; set; }
// @property (nonatomic, strong) NSString * stringsBundle;
[Export("stringsBundle", ArgumentSemantic.Strong)]
string StringsBundle { get; set; }
// @property (assign, nonatomic) BOOL gallerySelectionEnabled;
[Export("gallerySelectionEnabled")]
bool GallerySelectionEnabled { get; set; }
// @property (assign, nonatomic) BOOL cameraCaptureEnabled;
[Export("cameraCaptureEnabled")]
bool CameraCaptureEnabled { get; set; }
// @property (assign, nonatomic) BOOL notificationSoundEnabled;
[Export("notificationSoundEnabled")]
bool NotificationSoundEnabled { get; set; }
// @property (assign, nonatomic) BOOL teamMemberInfoVisible;
[Export("teamMemberInfoVisible")]
bool TeamMemberInfoVisible { get; set; }
// @property (assign, nonatomic) BOOL showNotificationBanner;
[Export("showNotificationBanner")]
bool ShowNotificationBanner { get; set; }
// @property (assign, nonatomic) BOOL responseExpectationVisible;
[Export("responseExpectationVisible")]
bool ResponseExpectationVisible { get; set; }
// -(instancetype)initWithAppID:(NSString *)appID andAppKey:(NSString
*)appKey;
[Export("initWithAppID:andAppKey:")]
IntPtr Constructor(string appID, string appKey);
}