Skip to content

Commit 32b11d1

Browse files
committed
Release 1.1.3
1 parent 6d07dde commit 32b11d1

File tree

219 files changed

+2923
-165
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+2923
-165
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.1.3] - 2025-03-13
9+
10+
### Added
11+
- Created a brand-new sample app showcasing DevRev SDK's features.
12+
- Added support for CSS masking classes using the `devrev-mask` and `devrev-unmask` classes.
13+
14+
### Changed
15+
- Improved the handling of the automatic session recording.
16+
817
## [1.1.2] - 2025-03-06
918

1019
### Changed

DevRevSDK.doccarchive.zip

56 Bytes
Binary file not shown.

DevRevSDK.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
Pod::Spec.new do |spec|
22
spec.name = "DevRevSDK"
3-
spec.version = "1.1.2"
3+
spec.version = "1.1.3"
44
spec.summary = "DevRev SDK, used for integrating DevRev services into your iOS app."
55
spec.homepage = "https://devrev.ai"
66
spec.license = "Apache 2.0"
77
spec.author = { "DevRev" => "[email protected]" }
88
spec.platform = :ios, "15.0"
99
spec.source = {
10-
http: "https://github.com/devrev/devrev-sdk-ios/releases/download/v1.1.2/DevRevSDK.xcframework.zip",
10+
http: "https://github.com/devrev/devrev-sdk-ios/releases/download/v1.1.3/DevRevSDK.xcframework.zip",
1111
type: :zip,
1212
headers: [
1313
"Accept: application/octet-stream",

DevRevSDK.xcframework.zip

52 Bytes
Binary file not shown.

MIGRATION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This guide and chart should help facilitate the transition from the legacy UserE
77
|-|-|-|
88
| Installation | `pod 'UserExperior', '~> <version>` | SPM: `https://github.com/devrev/devrev-sdk-ios`<br />CocoaPods: `pod 'DevRevSDK', '~> <version>` |
99
| Initialization | `UserExperior.startRecording(_ versionKey: String)` | `DevRev.configure(appID: String)` |
10-
| User Identification | `UserExperior.setUserIdentifier(_ userIdentifier: String)` | `DevRev.identifyAnonymousUser(userID: String)`<br />`DevRev.identifyUnverifiedUser(_ identity: Identity)`<br />`DevRev.updateUser(_ identity: Identity)`<br /> `identifyVerifiedUser( _ userID: String, sessionToken: String)`<br />`DevRev.logout(deviceID: String)` |
10+
| User Identification | `UserExperior.setUserIdentifier(_ userIdentifier: String)` | `DevRev.identifyAnonymousUser(userID: String)`<br />`DevRev.identifyUnverifiedUser(_ identity: Identity)`<br />`DevRev.updateUser(_ identity: Identity)`<br /> `identifyVerifiedUser( _ userID: String, sessionToken: String)`<br />`DevRev.logout(deviceID: String)` |
1111
| Event Tracking | `UserExperior.logEvent(_ eventName: String)` | `DevRev.trackEvent(name: String, properties: [String: String])` |
1212
| Session Recording | `UserExperior.stopRecording()`<br />`UserExperior.pauseRecording()`<br />`UserExperior.resumeRecording()` | `DevRev.startRecording()`<br />`DevRev.stopRecording()`<br />`DevRev.pauseRecording()`<br />`DevRev.resumeRecording()`<br />`DevRev.processAllOnDemandSessions()` |
1313
| Opting in/out | `UserExperior.consentOptIn()`<br />`UserExperior.consentOptOut()`<br />`UserExperior.getConsentStatus`<br />`UserExperior.getOptOutStatus` | `DevRev.stopAllMonitoring()`<br />`DevRev.resumeAllMonitoring()` |

Package.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ let package = Package(
1818
targets: [
1919
.binaryTarget(
2020
name: "DevRevSDK",
21-
url: "https://github.com/devrev/devrev-sdk-ios/releases/download/v1.1.2/DevRevSDK.xcframework.zip",
22-
checksum: "53381d4c965b14a7b37a0a77cf3647bac3a97bfd7f1e8921406a1f4d294cec31"
21+
url: "https://github.com/devrev/devrev-sdk-ios/releases/download/v1.1.3/DevRevSDK.xcframework.zip",
22+
checksum: "51cbf3582b41dcfac134b488cfc9bb7cbc32d38c1e8a91399bb4f92ce9bb3c53"
2323
)
2424
]
2525
)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#include "_Project.xcconfig"
2+
3+
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
4+
GCC_DYNAMIC_NO_PIC = NO
5+
GCC_OPTIMIZATION_LEVEL = 0
6+
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 $(inherited)
7+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE
8+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) DEBUG
9+
SWIFT_OPTIMIZATION_LEVEL = -Onone
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#include "_Project.xcconfig"
2+
3+
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
4+
ENABLE_NS_ASSERTIONS = NO
5+
MTL_ENABLE_DEBUG_INFO = NO
6+
SWIFT_ACTIVE_COMPILATION_CONDITIONS =
7+
SWIFT_COMPILATION_MODE = wholemodule
8+
SWIFT_OPTIMIZATION_LEVEL = -O
9+
VALIDATE_PRODUCT = YES
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#include "_ProjectCommonFlags.xcconfig"
2+
3+
BUNDLE_PREFIX = ai.devrev.sdk
4+
PRODUCT_NAME = $(TARGET_NAME)
5+
6+
SWIFT_VERSION = 5.0
7+
TARGETED_DEVICE_FAMILY = 1,2
8+
IPHONEOS_DEPLOYMENT_TARGET = 15.0
9+
XROS_DEPLOYMENT_TARGET = 1.2
10+
SUPPORTS_MACCATALYST = NO
11+
SUPPORTED_PLATFORMS = iphoneos iphonesimulator
12+
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO
13+
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
ALWAYS_SEARCH_USER_PATHS = NO
2+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES
3+
BUILD_LIBRARY_FOR_DISTRIBUTION = YES
4+
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES
5+
CLANG_ANALYZER_NONNULL = YES
6+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE
7+
CLANG_CXX_LANGUAGE_STANDARD = gnu++20
8+
CLANG_ENABLE_MODULES = YES
9+
CLANG_ENABLE_OBJC_ARC = YES
10+
CLANG_ENABLE_OBJC_WEAK = YES
11+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
12+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES
13+
CLANG_WARN_BOOL_CONVERSION = YES
14+
CLANG_WARN_COMMA = YES
15+
CLANG_WARN_CONSTANT_CONVERSION = YES
16+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES
17+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR
18+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES
19+
CLANG_WARN_EMPTY_BODY = YES
20+
CLANG_WARN_ENUM_CONVERSION = YES
21+
CLANG_WARN_INFINITE_RECURSION = YES
22+
CLANG_WARN_INT_CONVERSION = YES
23+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES
24+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES
25+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES
26+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR
27+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES
28+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES
29+
CLANG_WARN_STRICT_PROTOTYPES = YES
30+
CLANG_WARN_SUSPICIOUS_MOVE = YES
31+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE
32+
CLANG_WARN_UNREACHABLE_CODE = YES
33+
CODE_SIGN_STYLE = Automatic
34+
COPY_PHASE_STRIP = NO
35+
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
36+
ENABLE_STRICT_OBJC_MSGSEND = YES
37+
ENABLE_TESTABILITY = YES
38+
ENABLE_USER_SCRIPT_SANDBOXING = NO
39+
GCC_C_LANGUAGE_STANDARD = gnu11
40+
GCC_NO_COMMON_BLOCKS = YES
41+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES
42+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR
43+
GCC_WARN_UNDECLARED_SELECTOR = YES
44+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE
45+
GCC_WARN_UNUSED_FUNCTION = YES
46+
GCC_WARN_UNUSED_VARIABLE = YES
47+
GENERATE_INFOPLIST_FILE = YES
48+
IPHONEOS_DEPLOYMENT_TARGET = 15.0
49+
MODULEMAP_FILE =
50+
MTL_FAST_MATH = YES
51+
ONLY_ACTIVE_ARCH = YES
52+
SDKROOT = iphoneos
53+
SWIFT_EMIT_LOC_STRINGS = YES
54+
SYSTEM_HEADER_SEARCH_PATHS =
55+
VERSION_INFO_PREFIX =
56+
VERSIONING_SYSTEM = apple-generic
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
ASSETCATALOG_COMPILER_APPICON_NAME=AppIcon
2+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME=AccentColor
3+
CODE_SIGN_ENTITLEMENTS=SampleSwiftUI/SampleSwiftUI.entitlements
4+
CODE_SIGN_STYLE=Automatic
5+
CURRENT_PROJECT_VERSION=1
6+
ENABLE_PREVIEWS=YES
7+
GENERATE_INFOPLIST_FILE=YES
8+
INFOPLIST_FILE=SampleSwiftUI/Info.plist
9+
INFOPLIST_KEY_UIApplicationSceneManifest_Generation=YES
10+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents=YES
11+
INFOPLIST_KEY_UILaunchScreen_Generation=YES
12+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad=UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight
13+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone=UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight
14+
IPHONEOS_DEPLOYMENT_TARGET = 15.0
15+
LD_RUNPATH_SEARCH_PATHS=$(inherited) @executable_path/Frameworks
16+
MARKETING_VERSION=1.0
17+
PRODUCT_BUNDLE_IDENTIFIER=ai.devrev.sdk.SampleSwiftUI
18+
PRODUCT_NAME=$(TARGET_NAME)
19+
SWIFT_EMIT_LOC_STRINGS=YES
20+
SWIFT_VERSION=5.0
21+
TARGETED_DEVICE_FAMILY=1,2
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
ASSETCATALOG_COMPILER_APPICON_NAME=AppIcon
2+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME=AccentColor
3+
CODE_SIGN_ENTITLEMENTS=SampleUIKit/SampleUIKit.entitlements
4+
CODE_SIGN_STYLE=Automatic
5+
CURRENT_PROJECT_VERSION=1
6+
GENERATE_INFOPLIST_FILE=YES
7+
INFOPLIST_FILE=SampleUIKit/Info.plist
8+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents=YES
9+
INFOPLIST_KEY_UILaunchStoryboardName=LaunchScreen
10+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad=UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight
11+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone=UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight
12+
LD_RUNPATH_SEARCH_PATHS=$(inherited) @executable_path/Frameworks
13+
MARKETING_VERSION=1.0
14+
PRODUCT_BUNDLE_IDENTIFIER=ai.devrev.sdk.SampleUIKit
15+
PRODUCT_NAME=$(TARGET_NAME)
16+
SWIFT_EMIT_LOC_STRINGS=YES
17+
SWIFT_VERSION=5.0
18+
TARGETED_DEVICE_FAMILY=1,2

Samples/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# DevRev SDK Samples
2+
3+
- [DevRev SDK Samples](#devrev-sdk-samples)
4+
- [Requirements](#requirements)
5+
- [Overview](#overview)
6+
- [Setup](#setup)
7+
8+
## Requirements
9+
- Latest stable Xcode from the [App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12).
10+
11+
## Overview
12+
As part of our DevRev SDK we provide a sample app in two flavors, SwiftUI and UIKit. The samples showcase the features of the DevRev SDK in a user friendly manner.
13+
14+
## Setup
15+
Before you start using the sample app you will need to configure it to be used with your Apple Developer team and your DevRev credentials. For your convenience the code has been marked with compiler error directives (`#error`) at the places that need attention.
16+
17+
1. Open the DevRev web app at [https://app.devrev.ai](https://app.devrev.ai) and go to the **Settings** page.
18+
2. Under **PLuG settings** copy the value under **Your unique App ID**.
19+
3. Add your credentials to `ContentView.swift` (SwiftUI) or `AppDelegate.swift` (UIKit).
20+
- After you have added the credentials, delete or comment out the compiler error lines in the respective files (`AppDelegate.swift`).
21+
4. Configure the code signing for the sample target:
22+
- Open the project settings (1),
23+
- Select the appropriate target (2),
24+
- Go to the Signing & Capabilities section (3), and
25+
- Select your development team under Team (4).
26+
<img src="docs/screenshots/screenshot-xcode-signing.png" width="400" />
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import Foundation
2+
import UIKit
3+
import DevRevSDK
4+
5+
class AppDelegate: NSObject, UIApplicationDelegate {
6+
// MARK: - Configuration
7+
8+
#error("The sample app needs a development team set for code signing.")
9+
#error("Enter your credentials here!")
10+
private let appID = "<APPID>"
11+
12+
// MARK: - Properties
13+
14+
let testOrganizer = UITestOrganizer()
15+
16+
// MARK: - App lifecycle
17+
18+
func application(
19+
_ application: UIApplication,
20+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
21+
) -> Bool {
22+
guard
23+
let appID = testOrganizer.isInTestMode ? testOrganizer.appID : appID
24+
else {
25+
fatalError("Missing app ID for testing")
26+
}
27+
28+
DevRev.configure(appID: appID)
29+
30+
Task { @MainActor in
31+
await requestPushNotificationsAuthorization()
32+
}
33+
34+
return true
35+
}
36+
37+
// MARK: - Push notifications
38+
39+
func application(
40+
_ application: UIApplication,
41+
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data
42+
) {
43+
guard
44+
let deviceID = UIDevice.current.identifierForVendor?.uuidString
45+
else {
46+
return
47+
}
48+
49+
Task {
50+
await DevRev.registerDeviceToken(
51+
deviceToken,
52+
deviceID: deviceID
53+
)
54+
}
55+
}
56+
57+
private func requestPushNotificationsAuthorization() async {
58+
do {
59+
let center = UNUserNotificationCenter.current()
60+
try await center.requestAuthorization(options: [.alert, .sound, .badge])
61+
} catch {
62+
print("Could not request authorization for push notifications: \(error)")
63+
}
64+
}
65+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"colors" : [
3+
{
4+
"idiom" : "universal"
5+
}
6+
],
7+
"info" : {
8+
"author" : "xcode",
9+
"version" : 1
10+
}
11+
}
Loading
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"images" : [
3+
{
4+
"filename" : "AppIcon.png",
5+
"idiom" : "universal",
6+
"platform" : "ios",
7+
"size" : "1024x1024"
8+
}
9+
],
10+
"info" : {
11+
"author" : "xcode",
12+
"version" : 1
13+
}
14+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"info" : {
3+
"author" : "xcode",
4+
"version" : 1
5+
}
6+
}

0 commit comments

Comments
 (0)