Skip to content

Commit

Permalink
Merge pull request #14 from CleverTap/SDK-1675-Fix-Pod-LintErrors
Browse files Browse the repository at this point in the history
[SDK-1675] Release iOS Push templates CTNotificationContent v0.2.0
  • Loading branch information
nishant-clevertap authored Jun 24, 2022
2 parents 462602f + e0768eb commit 91d9cfb
Show file tree
Hide file tree
Showing 23 changed files with 601 additions and 84 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Change Log
==========

Version 0.2.0 *(22 June, 2022)*
Version 0.2.0 *(24 June, 2022)*
-----------------------------------------------
- Supports new templates - Basic, Auto carousel, Manual carousel and Timer
- Backward compatible with Rich Media Push Notifications (Single Image and Content Slider)
- Compatibile with CleverTap iOS SDK v4.1.0
- Compatible with CleverTap iOS SDK v4.1.0

Version 0.1.5 *(3 December, 2021)*
-----------------------------------------------
Expand Down
4 changes: 3 additions & 1 deletion CTNotificationContent.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,7 @@ Pod::Spec.new do |s|
s.requires_arc = true
s.platform = :ios, '10.0'
s.weak_frameworks = 'UserNotifications', 'UIKit'
s.source_files = 'CTNotificationContent/**/*.{h,m,swift,png}'
s.source_files = 'CTNotificationContent/**/*.{h,m,swift}'
s.resources = 'CTNotificationContent/**/*.{png}'
s.swift_version = '5.0'
end
16 changes: 8 additions & 8 deletions CTNotificationContent/Controllers/CTCarouselController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@ struct CarouselProperties: Decodable {
let pt_msg_clr: String?
}

class CTCarouselController: BaseCTNotificationContentViewController {
@objc public class CTCarouselController: BaseCTNotificationContentViewController {
var contentView: UIView = UIView(frame: .zero)
var pageControl: UIPageControl = UIPageControl(frame: .zero)
var currentItemView: CTCaptionedImageView = CTCaptionedImageView(frame: .zero)
var timer: Timer? = nil
var itemViews = [CTCaptionedImageView]()
var currentItemIndex: Int = 0
@objc var data: String = ""
@objc var templateType: String = ""
@objc var templateCaption: String = ""
@objc var templateSubcaption: String = ""
@objc var deeplinkURL: String = ""
@objc public var data: String = ""
@objc public var templateType: String = ""
@objc public var templateCaption: String = ""
@objc public var templateSubcaption: String = ""
@objc public var deeplinkURL: String = ""
var bgColor: String = ConstantKeys.kDefaultColor
var captionColor: String = ConstantKeys.kHexBlackColor
var subcaptionColor: String = ConstantKeys.kHexLightGrayColor
Expand All @@ -36,7 +36,7 @@ class CTCarouselController: BaseCTNotificationContentViewController {
var nextButton: UIButton = UIButton(frame: .zero)
var previousButton: UIButton = UIButton(frame: .zero)

override func viewDidLoad() {
@objc public override func viewDidLoad() {
super.viewDidLoad()

contentView = UIView(frame: view.frame)
Expand Down Expand Up @@ -240,7 +240,7 @@ class CTCarouselController: BaseCTNotificationContentViewController {
showPrevious()
}

override func handleAction(_ action: String) -> UNNotificationContentExtensionResponseOption {
@objc public override func handleAction(_ action: String) -> UNNotificationContentExtensionResponseOption {
if action == ConstantKeys.kAction1 {
// Maps to show previous
if templateType == TemplateConstants.kTemplateManualCarousel {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ fileprivate enum Constants {
static let kActionUrl: String = "actionUrl"
}

class CTContentSliderController: BaseCTNotificationContentViewController {
@objc public class CTContentSliderController: BaseCTNotificationContentViewController {
var contentView: UIView = UIView(frame: .zero)
var pageControl: UIPageControl = UIPageControl(frame: .zero)
var currentItemView: CTCaptionedImageView = CTCaptionedImageView(frame: .zero)
Expand All @@ -36,13 +36,13 @@ class CTContentSliderController: BaseCTNotificationContentViewController {
var showPaging: Int = 0
var autoPlay: Int = 0
var orientation: String = ConstantKeys.kOrientationLandscape
@objc var data: String = ""
@objc var templateCaption: String = ""
@objc var templateSubcaption: String = ""
@objc var deeplinkURL: String = ""
@objc public var data: String = ""
@objc public var templateCaption: String = ""
@objc public var templateSubcaption: String = ""
@objc public var deeplinkURL: String = ""
var jsonContent: ContentSliderProperties? = nil

override func viewDidLoad() {
@objc public override func viewDidLoad() {
super.viewDidLoad()

contentView = UIView(frame: view.frame)
Expand Down Expand Up @@ -181,7 +181,7 @@ class CTContentSliderController: BaseCTNotificationContentViewController {
}


override func handleAction(_ action: String) -> UNNotificationContentExtensionResponseOption {
@objc public override func handleAction(_ action: String) -> UNNotificationContentExtensionResponseOption {
if action == ConstantKeys.kAction1 {
// Maps to show previous
stopAutoPlay()
Expand Down
16 changes: 8 additions & 8 deletions CTNotificationContent/Controllers/CTSingleMediaController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ import UserNotificationsUI
import AVKit
import AVFoundation

class CTSingleMediaController: BaseCTNotificationContentViewController {
@objc public class CTSingleMediaController: BaseCTNotificationContentViewController {
var contentView: UIView = UIView(frame: .zero)
var currentItemView: CTCaptionedImageView = CTCaptionedImageView(frame: .zero)
@objc var caption: String = ""
@objc var subCaption: String = ""
@objc var mediaType: String = ""
@objc var mediaURL: String = ""
@objc var deeplinkURL: String = ""
@objc public var caption: String = ""
@objc public var subCaption: String = ""
@objc public var mediaType: String = ""
@objc public var mediaURL: String = ""
@objc public var deeplinkURL: String = ""
var player:AVPlayer?
var videoPlayerView: CTVideoPlayerView = CTVideoPlayerView(frame: .zero)
private var captionLabel: UILabel = {
Expand All @@ -36,7 +36,7 @@ class CTSingleMediaController: BaseCTNotificationContentViewController {
var playPauseButton: UIButton = UIButton(frame: .zero)
var isPlaying: Bool = false

override func viewDidLoad() {
@objc public override func viewDidLoad() {
super.viewDidLoad()

contentView = UIView(frame: view.frame)
Expand Down Expand Up @@ -170,7 +170,7 @@ class CTSingleMediaController: BaseCTNotificationContentViewController {
])
}

override func handleAction(_ action: String) -> UNNotificationContentExtensionResponseOption {
@objc public override func handleAction(_ action: String) -> UNNotificationContentExtensionResponseOption {
if action == ConstantKeys.kAction3 {
// Maps to run the relevant deeplink
if !deeplinkURL.isEmpty {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,12 @@ struct TimerTemplateProperties: Decodable {
}
}

class CTTimerTemplateController: BaseCTNotificationContentViewController {
@objc public class CTTimerTemplateController: BaseCTNotificationContentViewController {
var contentView: UIView = UIView(frame: .zero)
@objc var data: String = ""
@objc var templateCaption: String = ""
@objc var templateSubcaption: String = ""
@objc var deeplinkURL: String = ""
@objc public var data: String = ""
@objc public var templateCaption: String = ""
@objc public var templateSubcaption: String = ""
@objc public var deeplinkURL: String = ""
var bgColor: String = ConstantKeys.kDefaultColor
var captionColor: String = ConstantKeys.kHexBlackColor
var subcaptionColor: String = ConstantKeys.kHexLightGrayColor
Expand Down Expand Up @@ -113,7 +113,7 @@ class CTTimerTemplateController: BaseCTNotificationContentViewController {
return timerLabel
}()

override func viewDidLoad() {
@objc public override func viewDidLoad() {
super.viewDidLoad()

contentView = UIView(frame: view.frame)
Expand All @@ -124,7 +124,7 @@ class CTTimerTemplateController: BaseCTNotificationContentViewController {
setupConstraints()
}

override func viewWillAppear(_ animated: Bool) {
@objc public override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)

timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(updateTimer), userInfo: nil, repeats: true)
Expand Down Expand Up @@ -303,7 +303,7 @@ class CTTimerTemplateController: BaseCTNotificationContentViewController {
])
}

override func handleAction(_ action: String) -> UNNotificationContentExtensionResponseOption {
@objc public override func handleAction(_ action: String) -> UNNotificationContentExtensionResponseOption {
if action == ConstantKeys.kAction3 {
// Maps to run the relevant deeplink
if !deeplinkURL.isEmpty {
Expand Down
1 change: 0 additions & 1 deletion Example/Podfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

ENV['SWIFT_VERSION'] = '5'
platform :ios, '10.0'

use_frameworks!
Expand Down
14 changes: 7 additions & 7 deletions Framework/CTNotificationContent.xcframework/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -6,32 +6,32 @@
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_i386_x86_64-simulator</string>
<string>ios-arm64_armv7</string>
<key>LibraryPath</key>
<string>CTNotificationContent.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>i386</string>
<string>x86_64</string>
<string>armv7</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string>
<string>ios-arm64_i386_x86_64-simulator</string>
<key>LibraryPath</key>
<string>CTNotificationContent.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>armv7</string>
<string>i386</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,50 @@ import _Concurrency
extension UIKit.UIColor {
public convenience init?(hex: Swift.String)
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor(unsafe) public class CTCarouselController : CTNotificationContent.BaseCTNotificationContentViewController {
@objc @_Concurrency.MainActor(unsafe) public var data: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateType: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateCaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateSubcaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var deeplinkURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewDidLoad()
@objc @_Concurrency.MainActor(unsafe) override dynamic public func handleAction(_ action: Swift.String) -> UserNotificationsUI.UNNotificationContentExtensionResponseOption
@_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor(unsafe) public class CTTimerTemplateController : CTNotificationContent.BaseCTNotificationContentViewController {
@objc @_Concurrency.MainActor(unsafe) public var data: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateCaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateSubcaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var deeplinkURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewDidLoad()
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewWillAppear(_ animated: Swift.Bool)
@objc @_Concurrency.MainActor(unsafe) override dynamic public func handleAction(_ action: Swift.String) -> UserNotificationsUI.UNNotificationContentExtensionResponseOption
@_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor(unsafe) public class CTContentSliderController : CTNotificationContent.BaseCTNotificationContentViewController {
@objc @_Concurrency.MainActor(unsafe) public var data: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateCaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateSubcaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var deeplinkURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewDidLoad()
@objc @_Concurrency.MainActor(unsafe) override dynamic public func handleAction(_ action: Swift.String) -> UserNotificationsUI.UNNotificationContentExtensionResponseOption
@_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor(unsafe) public class CTSingleMediaController : CTNotificationContent.BaseCTNotificationContentViewController {
@objc @_Concurrency.MainActor(unsafe) public var caption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var subCaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var mediaType: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var mediaURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var deeplinkURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewDidLoad()
@objc @_Concurrency.MainActor(unsafe) override dynamic public func handleAction(_ action: Swift.String) -> UserNotificationsUI.UNNotificationContentExtensionResponseOption
@_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,50 @@ import _Concurrency
extension UIKit.UIColor {
public convenience init?(hex: Swift.String)
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor(unsafe) public class CTCarouselController : CTNotificationContent.BaseCTNotificationContentViewController {
@objc @_Concurrency.MainActor(unsafe) public var data: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateType: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateCaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateSubcaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var deeplinkURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewDidLoad()
@objc @_Concurrency.MainActor(unsafe) override dynamic public func handleAction(_ action: Swift.String) -> UserNotificationsUI.UNNotificationContentExtensionResponseOption
@_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor(unsafe) public class CTTimerTemplateController : CTNotificationContent.BaseCTNotificationContentViewController {
@objc @_Concurrency.MainActor(unsafe) public var data: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateCaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateSubcaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var deeplinkURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewDidLoad()
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewWillAppear(_ animated: Swift.Bool)
@objc @_Concurrency.MainActor(unsafe) override dynamic public func handleAction(_ action: Swift.String) -> UserNotificationsUI.UNNotificationContentExtensionResponseOption
@_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor(unsafe) public class CTContentSliderController : CTNotificationContent.BaseCTNotificationContentViewController {
@objc @_Concurrency.MainActor(unsafe) public var data: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateCaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var templateSubcaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var deeplinkURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewDidLoad()
@objc @_Concurrency.MainActor(unsafe) override dynamic public func handleAction(_ action: Swift.String) -> UserNotificationsUI.UNNotificationContentExtensionResponseOption
@_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor(unsafe) public class CTSingleMediaController : CTNotificationContent.BaseCTNotificationContentViewController {
@objc @_Concurrency.MainActor(unsafe) public var caption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var subCaption: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var mediaType: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var mediaURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) public var deeplinkURL: Swift.String
@objc @_Concurrency.MainActor(unsafe) override dynamic public func viewDidLoad()
@objc @_Concurrency.MainActor(unsafe) override dynamic public func handleAction(_ action: Swift.String) -> UserNotificationsUI.UNNotificationContentExtensionResponseOption
@_Concurrency.MainActor(unsafe) @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
@_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
Loading

0 comments on commit 91d9cfb

Please sign in to comment.