Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -405,4 +405,7 @@ ASALocalRun/
.localhistory/

# Meteor
.meteor
.meteor

# Credentials File
**/appsettings.Secret.json
29 changes: 21 additions & 8 deletions ApptentiveKit.iOS/ApiDefinition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,35 +24,40 @@ interface Apptentive : IUNUserNotificationCenterDelegate
[Export ("shared", ArgumentSemantic.Strong)]
Apptentive Shared { get; }

// @property (nonatomic, class) NSString * _Nullable fontName;
[Static]
[NullAllowed, Export ("fontName")]
string FontName { get; set; }

// @property (nonatomic) enum UITheme theme;
[Export ("theme", ArgumentSemantic.Assign)]
UITheme Theme { get; set; }

// -(void)registerWithKey:(NSString * _Nonnull)key signature:(NSString * _Nonnull)signature completion:(void (^ _Nullable)(BOOL))completion;
[Export("registerWithConfiguration:completion:")]
void Register(ApptentiveConfiguration configuration, [NullAllowed] Action<bool> completion);
void Register(ApptentiveConfiguration configuration, [NullAllowed] Action<bool>? completion);

// -(void)engage:(NSString * _Nonnull)event fromViewController:(UIViewController * _Nullable)viewController;
[Export("engage:fromViewController:")]
void Engage(string @event, [NullAllowed] UIViewController viewController);

// -(void)engage:(NSString * _Nonnull)event fromViewController:(UIViewController * _Nullable)viewController completion:(void (^ _Nullable)(BOOL))completion;
[Export("engage:fromViewController:completion:")]
void Engage(string @event, [NullAllowed] UIViewController viewController, [NullAllowed] Action<bool> completion);
void Engage(string @event, [NullAllowed] UIViewController viewController, [NullAllowed] Action<bool>? completion);

// -(void)engage:(NSString * _Nonnull)event withCustomData:(NSDictionary * _Nullable)customData fromViewController:(UIViewController * _Nullable)viewController;
[Export("engage:withCustomData:fromViewController:")]
void Engage(string @event, [NullAllowed] NSDictionary customData, [NullAllowed] UIViewController viewController);

// -(void)engage:(NSString * _Nonnull)event withCustomData:(NSDictionary * _Nullable)customData fromViewController:(UIViewController * _Nullable)viewController completion:(void (^ _Nullable)(BOOL))completion;
[Export("engage:withCustomData:fromViewController:completion:")]
void Engage(string @event, [NullAllowed] NSDictionary customData, [NullAllowed] UIViewController viewController, [NullAllowed] Action<bool> completion);
void Engage(string @event, [NullAllowed] NSDictionary customData, [NullAllowed] UIViewController viewController, [NullAllowed] Action<bool>? completion);

// -(void)queryCanShowInteractionForEvent:(NSString * _Nonnull)event completion:(void (^ _Nonnull)(BOOL))completion;
[Export("queryCanShowInteractionForEvent:completion:")]
void QueryCanShowInteraction(string @event, Action<bool> completion);

// - (void)queryCanShowMessageCenterWithCompletion:(void (^ _Nonnull)(BOOL))completion SWIFT_DEPRECATED_MSG("This feature is not implemented and will always result in false.");
// - (void)queryCanShowMessageCenterWithCompletion:(void (^ _Nonnull)(BOOL))completion;
[Export("queryCanShowMessageCenterWithCompletion:")]
void QueryCanShowMessageCenter(Action<bool> completion);

Expand All @@ -62,15 +67,15 @@ interface Apptentive : IUNUserNotificationCenterDelegate

// -(void)presentMessageCenterFromViewController:(UIViewController * _Nullable)viewController completion:(void (^ _Nullable)(BOOL))completion;
[Export("presentMessageCenterFromViewController:completion:")]
void PresentMessageCenter([NullAllowed] UIViewController viewController, [NullAllowed] Action<bool> completion);
void PresentMessageCenter([NullAllowed] UIViewController viewController, [NullAllowed] Action<bool>? completion);

// -(void)presentMessageCenterFromViewController:(UIViewController * _Nullable)viewController withCustomData:(NSDictionary * _Nullable)customData;
[Export("presentMessageCenterFromViewController:withCustomData:")]
void PresentMessageCenter([NullAllowed] UIViewController viewController, [NullAllowed] NSDictionary customData);

// -(void)presentMessageCenterFromViewController:(UIViewController * _Nullable)viewController withCustomData:(NSDictionary * _Nullable)customData completion:(void (^ _Nullable)(BOOL))completion;
[Export("presentMessageCenterFromViewController:withCustomData:completion:")]
void PresentMessageCenter([NullAllowed] UIViewController viewController, [NullAllowed] NSDictionary customData, [NullAllowed] Action<bool> completion);
void PresentMessageCenter([NullAllowed] UIViewController viewController, [NullAllowed] NSDictionary customData, [NullAllowed] Action<bool>? completion);

// @property (nonatomic) NSInteger unreadMessageCount;
[Export("unreadMessageCount")]
Expand Down Expand Up @@ -166,15 +171,15 @@ interface Apptentive : IUNUserNotificationCenterDelegate

// - (void)logInWithToken:(NSString * _Nonnull)token completion:(void (^ _Nonnull)(BOOL, NSError * _Nullable))completion;
[Export("logInWithToken:completion:")]
void LogIn(string token, Action<bool, NSError> completion);
void LogIn(string token, Action<bool, NSError>? completion);

// - (void)logOut;
[Export("logOut")]
void LogOut();

// - (void)updateToken:(NSString * _Nonnull)token completion:(void (^ _Nullable)(BOOL))completion;
[Export("updateToken:completion:")]
void UpdateToken(string token, [NullAllowed] Action<bool> completion);
void UpdateToken(string token, [NullAllowed] Action<bool>? completion);

[NullAllowed, Export("authenticationFailureCallback")]
Action<ApptentiveAuthenticationFailureReason, string?> AuthenticationFailureCallback { get; set; }
Expand Down Expand Up @@ -210,6 +215,14 @@ interface ApptentiveConfiguration
[Export("distributionVersion")]
string DistributionVersion { get; set; }

// @property (copy, nonatomic) NSString * _Nullable baseURL;
[NullAllowed, Export("overrideBaseURL")]
NSUrl? OverrideBaseUrl { get; set; }

// @property (copy, nonatomic) NSString * _Nullable region;
[NullAllowed, Export("region")]
string? Region { get; set; }

// -(instancetype _Nullable)initWithApptentiveKey:(NSString * _Nonnull)apptentiveKey apptentiveSignature:(NSString * _Nonnull)apptentiveSignature;
[Export("initWithApptentiveKey:apptentiveSignature:")]
IntPtr Constructor(string apptentiveKey, string apptentiveSignature);
Expand Down
13 changes: 7 additions & 6 deletions ApptentiveKit.iOS/ApptentiveKit.iOS.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-ios</TargetFramework>
<TargetFramework>net10.0-ios</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>true</ImplicitUsings>
<IsBindingProject>true</IsBindingProject>
Expand All @@ -9,8 +9,8 @@
<OutputType>Library</OutputType>

<Authors>Alchemer Digital Team</Authors>
<Version>6.8.1</Version>
<Copyright>Copyright © 2024 Alchemer LLC and contributors</Copyright>
<Version>7.0.0</Version>
<Copyright>Copyright © 2026 Alchemer LLC and contributors</Copyright>
<IsPackable>True</IsPackable>
<RepositoryUrl>https://github.com/apptentive/apptentive-maui</RepositoryUrl>
<RepositoryType>git</RepositoryType>
Expand All @@ -23,21 +23,22 @@
<Description>Wrapper for ApptentiveKit iOS SDK for use with Plugin.Maui.Apptentive project.</Description>
</PropertyGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0-ios' ">
<ItemGroup Condition=" '$(TargetFramework)' == 'net10.0-ios' ">
<ObjcBindingApiDefinition Include="ApiDefinition.cs" />
<ObjcBindingCoreSource Include="StructsAndEnums.cs" />
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0-ios' ">
<ItemGroup Condition=" '$(TargetFramework)' == 'net10.0-ios' ">
<NativeReference Include="Externals\ApptentiveKit.xcframework">
<Kind>Framework</Kind>
<SmartLink>False</SmartLink>
</NativeReference>
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0-ios' ">
<ItemGroup Condition=" '$(TargetFramework)' == 'net10.0-ios' ">
<None Include="ApptentiveKit.iOS.targets">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<PublishFolderType>None</PublishFolderType>
</None>
</ItemGroup>
</Project>
8 changes: 4 additions & 4 deletions ApptentiveKit.iOS/ApptentiveKit.iOS.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package >
<metadata>
<id>Apptentive.iOS</id>
<version>6.8.1</version>
<version>7.0.0</version>
<title>ApptentiveKit iOS wrapper for Maui plugin</title>
<authors>Apptentive</authors>
<owners>Apptentive</owners>
Expand All @@ -13,12 +13,12 @@
<license type="expression">BSD-3-Clause</license>
<icon>images\icon.png</icon>
<dependencies>
<group targetFramework="net8.0-ios17.2"></group>
<group targetFramework="net10.0-ios26.0"></group>
</dependencies>
</metadata>
<files>
<file src="bin/Release/net8.0-ios/ApptentiveKit.iOS.dll" target="lib/net8.0-ios17.2/"/>
<file src="bin/Release/net8.0-ios/ApptentiveKit.iOS.resources/**" target="content/Apptentive.iOS.resources" />
<file src="bin/Release/net10.0-ios/ApptentiveKit.iOS.dll" target="lib/net10.0-ios26.0/"/>
<file src="bin/Release/net10.0-ios/ApptentiveKit.iOS.resources/**" target="content/Apptentive.iOS.resources" />
<file src="..\icon.png" target="images\" />
<file src="ApptentiveKit.iOS.targets" target="build/Apptentive.iOS.targets" />
</files>
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading