Skip to content
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
b3d30e8
Create Package.swift file for spm support
reshab-code May 7, 2026
2a7a415
Create symlinks for spm
reshab-code May 7, 2026
5d96862
Add guard to obj c imports in ClevertapPlugin.m
reshab-code May 7, 2026
203c1e3
wrapped both CTJsonTemplateProducer.h and CTCustomTemplatesManager.h …
reshab-code May 7, 2026
b91d176
Narrowed header files in podspec
reshab-code May 7, 2026
c0b7ecf
Relocate Package.swift to ios/clevertap_plugin/ for Flutter SPM detec…
reshab-code May 8, 2026
dfd2cf9
Add swift package name under ios in pubspec.yaml, added guards for th…
reshab-code May 19, 2026
52d2d8e
Fix Package.swift to use same version as podspec to ensure no drift
reshab-code Jun 23, 2026
a7c16ee
Restructure folders and files as per the official flutter docs
reshab-code Jun 23, 2026
8751ec8
Merge branch 'develop' into task/SDK-5694-spm-support-flutter-sdk
reshab-code Jun 25, 2026
9e9fdf6
Fix version in package.swift to match podspec for correct version res…
reshab-code Jun 25, 2026
74ecaa9
Add spm integration doc for flutter
reshab-code Jun 25, 2026
c22b0dc
Fix flutter version in pubspec to 1.1.7 and enable spm for supported …
reshab-code Jun 30, 2026
8230f92
correct and trim the ios spm integration doc, fixing the enabling ste…
akashvercetti Aug 4, 2026
8922ed1
ignore flutter ephemeral, local claude settings, and generated sdk re…
akashvercetti Aug 4, 2026
7fa5ea4
Fix pr comments and add flutter framework dependency for swift pm rou…
reshab-code Aug 15, 2026
25a953a
update integration doc for ct plugin v4.2.0 and core ios sdk verison …
reshab-code Aug 20, 2026
c021559
merge feat/release_4.2.0, resolve usnotifications import conflict in …
reshab-code Aug 23, 2026
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
9 changes: 9 additions & 0 deletions example/ios/Runner/AppDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,18 @@
#import "GeneratedPluginRegistrant.h"
#import <UserNotifications/UserNotifications.h>

#if __has_include(<CleverTapSDK/CleverTap.h>)
#import <CleverTapSDK/CleverTap.h>
#else
#import "CleverTap.h"
#endif
#if __has_include(<clevertap_plugin/CleverTapPlugin.h>)
#import <clevertap_plugin/CleverTapPlugin.h>
#import <clevertap_plugin/CleverTapPluginCustomTemplates.h>
#else
#import "CleverTapPlugin.h"
#import "CleverTapPluginCustomTemplates.h"
#endif

@implementation AppDelegate

Expand Down
1 change: 0 additions & 1 deletion example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,6 @@ class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return StyledToast(
locale: const Locale('en', 'US'),
child: MaterialApp(
home: Scaffold(
appBar: AppBar(
Expand Down
80 changes: 80 additions & 0 deletions ios/Classes/CleverTapPlugin.m
Original file line number Diff line number Diff line change
@@ -1,21 +1,101 @@

#if __has_include(<CleverTapSDK/CleverTap.h>)
#import <CleverTapSDK/CleverTap.h>
#else
#import "CleverTap.h"
#endif

#import "CleverTapPlugin.h"

#if __has_include(<CleverTapSDK/CleverTap+Inbox.h>)
#import <CleverTapSDK/CleverTap+Inbox.h>
#else
#import "CleverTap+Inbox.h"
#endif

#if __has_include(<CleverTapSDK/CleverTapUTMDetail.h>)
#import <CleverTapSDK/CleverTapUTMDetail.h>
#else
#import "CleverTapUTMDetail.h"
#endif

#if __has_include(<CleverTapSDK/CleverTapEventDetail.h>)
#import <CleverTapSDK/CleverTapEventDetail.h>
#else
#import "CleverTapEventDetail.h"
#endif

#if __has_include(<CleverTapSDK/CleverTapSyncDelegate.h>)
#import <CleverTapSDK/CleverTapSyncDelegate.h>
#else
#import "CleverTapSyncDelegate.h"
#endif

#if __has_include(<CleverTapSDK/CleverTap+DisplayUnit.h>)
#import <CleverTapSDK/CleverTap+DisplayUnit.h>
#else
#import "CleverTap+DisplayUnit.h"
#endif

#if __has_include(<CleverTapSDK/CleverTap+FeatureFlags.h>)
#import <CleverTapSDK/CleverTap+FeatureFlags.h>
#else
#import "CleverTap+FeatureFlags.h"
#endif

#if __has_include(<CleverTapSDK/CleverTap+ProductConfig.h>)
#import <CleverTapSDK/CleverTap+ProductConfig.h>
#else
#import "CleverTap+ProductConfig.h"
#endif

#if __has_include(<CleverTapSDK/CleverTapPushNotificationDelegate.h>)
#import <CleverTapSDK/CleverTapPushNotificationDelegate.h>
#else
#import "CleverTapPushNotificationDelegate.h"
#endif

#if __has_include(<CleverTapSDK/CleverTapInAppNotificationDelegate.h>)
#import <CleverTapSDK/CleverTapInAppNotificationDelegate.h>
#else
#import "CleverTapInAppNotificationDelegate.h"
#endif

#if __has_include(<CleverTapSDK/CleverTap+InAppNotifications.h>)
#import <CleverTapSDK/CleverTap+InAppNotifications.h>
#else
#import "CleverTap+InAppNotifications.h"
#endif

#if __has_include(<CleverTapSDK/CleverTap+PushPermission.h>)
#import <CleverTapSDK/CleverTap+PushPermission.h>
#else
#import "CleverTap+PushPermission.h"
#endif

#if __has_include(<CleverTapSDK/CTLocalInApp.h>)
#import <CleverTapSDK/CTLocalInApp.h>
#else
#import "CTLocalInApp.h"
#endif

#if __has_include(<CleverTapSDK/CleverTap+CTVar.h>)
#import <CleverTapSDK/CleverTap+CTVar.h>
#else
#import "CleverTap+CTVar.h"
#endif

#if __has_include(<CleverTapSDK/CTVar.h>)
#import <CleverTapSDK/CTVar.h>
#else
#import "CTVar.h"
#endif

#if __has_include(<CleverTapSDK/CTTemplateContext.h>)
#import <CleverTapSDK/CTTemplateContext.h>
#else
#import "CTTemplateContext.h"
#endif

@interface CleverTapPlugin () <CleverTapSyncDelegate, CleverTapInAppNotificationDelegate, CleverTapDisplayUnitDelegate, CleverTapInboxViewControllerDelegate, CleverTapProductConfigDelegate, CleverTapFeatureFlagsDelegate, CleverTapPushNotificationDelegate, CleverTapPushPermissionDelegate>

Expand Down
10 changes: 10 additions & 0 deletions ios/Classes/CleverTapPluginCustomTemplates.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,18 @@
#import "CleverTapPluginCustomTemplates.h"
#import "CleverTapPluginTemplatePresenter.h"
#import "CleverTapPluginAppFunctionPresenter.h"

#if __has_include(<CleverTapSDK/CTJsonTemplateProducer.h>)
#import <CleverTapSDK/CTJsonTemplateProducer.h>
#else
#import "CTJsonTemplateProducer.h"
#endif

#if __has_include(<CleverTapSDK/CTCustomTemplatesManager.h>)
#import <CleverTapSDK/CTCustomTemplatesManager.h>
#else
#import "CTCustomTemplatesManager.h"
#endif

@implementation CleverTapPluginCustomTemplates

Expand Down
1 change: 1 addition & 0 deletions ios/Classes/include/CleverTapPlugin.h
1 change: 1 addition & 0 deletions ios/Classes/include/CleverTapPluginAppFunctionPresenter.h
1 change: 1 addition & 0 deletions ios/Classes/include/CleverTapPluginCustomTemplates.h
1 change: 1 addition & 0 deletions ios/Classes/include/CleverTapPluginTemplatePresenter.h
3 changes: 2 additions & 1 deletion ios/clevertap_plugin.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ Pod::Spec.new do |s|
s.author = { "CleverTap" => "http://www.clevertap.com" }
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'
s.exclude_files = 'Classes/include/**/*'
s.public_header_files = 'Classes/*.h'
s.dependency 'Flutter'
s.dependency 'CleverTap-iOS-SDK', '7.6.0'
Comment thread
reshab-code marked this conversation as resolved.
Outdated
s.ios.deployment_target = '9.0'
Expand Down
1 change: 1 addition & 0 deletions ios/clevertap_plugin/Classes
32 changes: 32 additions & 0 deletions ios/clevertap_plugin/Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// swift-tools-version: 5.9
import PackageDescription

let package = Package(
name: "clevertap_plugin",
platforms: [
.iOS("12.0")
],
products: [
.library(name: "clevertap-plugin", targets: ["clevertap_plugin"])
],
dependencies: [
.package(
url: "https://github.com/CleverTap/clevertap-ios-sdk",
from: "7.6.0"
)
],
targets: [
.target(
name: "clevertap_plugin",
dependencies: [
.product(name: "CleverTapSDK", package: "clevertap-ios-sdk")
],
path: "Classes",
publicHeadersPath: "include",
cSettings: [
.headerSearchPath("include"),
.headerSearchPath(".")
]
)
]
)
1 change: 1 addition & 0 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ flutter:
pluginClass: CleverTapPlugin
ios:
pluginClass: CleverTapPlugin
swiftPackageName: clevertap_plugin
web:
pluginClass: CleverTapPluginWeb
fileName: clevertap_plugin_web.dart