RSDKUtils module contains useful utilities, extensions, and common classes used in SDK development.
RSDKUtils consists of 4 sub-modules:
This module supports the following operating systems:
This module has been tested with iOS 12.0 and above.
Xcode 12.5.x or Xcode 13+
Swift >= 5.4 is supported.
Note: The SDK may build on earlier Xcode versions but it is not officially supported or tested.
To use the module in its basic configuration your
Podfile should contain:
# Defined also as 'RSDKUtils/Main' pod 'RSDKUtils', :git => '~> 4.0.0'
To use other functionalities, add their respective subspec to your
pod 'RSDKUtils/TestHelpers', '~> 4.0.0' pod 'RSDKUtils/Nimble', '~> 4.0.0' pod 'RSDKUtils/RLogger', '~> 4.0.0'
pod install to install the module.
More information on installing pods: https://guides.cocoapods.org/using/getting-started.html
Open your project settings in Xcode and add a new package in 'Swift Packages' tab:
masteror 4.0.0 "Up to Next Major"
Choose one of the following products for your target:
In order to use available utilities you need to add
import statement in your source file:
Depending on which product(s) you want to use, add one or more
import RSDKUtilsMain import RSDKUtilsNimble import RSDKUtilsTestHelpers import RLogger
You can test the module as a Swift Package and as a Cocoapod.
pod install then open RSDKUtils.xcworkspace and run
Package.swift in Xcode, choose iOS Simulator and run
⚠️ WARNING: Command-line testing is not available at the moment because of bug https://bugs.swift.org/browse/SR-13773
swift package clean swift test -Xswiftc "-sdk" -Xswiftc `xcrun --sdk iphonesimulator --show-sdk-path` -Xswiftc "-target" -Xswiftc "x86_64-apple-ios14.5-simulator"
dyld: Symbol not found:error when running tests (Cocoapods version)
This usually happens when
Nimble subspec is linked only to tests target where Host app target is linked to other RSDKUtils subspec at the same time. More info can be found here: https://github.com/CocoaPods/CocoaPods/issues/7195
The solution for that is to link
Nimble spec to the Host app target either explicitly or as a
target 'HostAppTarget' pod 'RSDKUtils', '~> 4.0.0', :testspecs => ['Nimble', 'TestHelpers'] end