Integrating Third Party
Integrating Third party frameworks
Overview
The Nuclei SDK requires several third-party frameworks, which can be added manually or via Cocoapods. Below are the details and instructions for integrating these dependencies.
Cocoapods Integration
To add the necessary third-party frameworks using Cocoapods, include the following code in your Podfile:
source 'https://github.com/CocoaPods/Specs.git'
target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
pod 'SwiftGRPC', '0.11.0'
pod 'CleverTap-iOS-SDK', '6.1.0'
pod 'Firebase/Core'
pod 'Firebase/Auth'
pod 'Firebase/Messaging'
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
end
if target.name.start_with? 'GoogleDataTransport'
target.build_configurations.each do |config|
config.build_settings['CLANG_WARN_STRICT_PROTOTYPES'] = 'NO'
end
end
# Remove unnecessary compiler flags for BoringSSL-GRPC
if target.name == 'BoringSSL-GRPC'
target.source_build_phase.files.each do |file|
if file.settings&.dig('COMPILER_FLAGS')
flags = file.settings['COMPILER_FLAGS'].split
flags.reject! { |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' }
file.settings['COMPILER_FLAGS'] = flags.join(' ')
end
end
end
end
end
end
Manual Integration
You can find the folder of 3rd party dependencies in the zip which is shared to you, you can integrate those frameworks as same as how you did the nuclei frameworks
Third-Party Libraries
Library | Description | Core/Optional | Dependency for |
---|---|---|---|
CleverTapSDK | For analytics, it's a core dependency | Core | - |
SwiftGRPC | Nuclei SDK uses RPCs for API calls, it's a core dependency | Core | - |
SwiftProtobuf | Transitive dependency of SwiftGRPC | Core | SwiftGRPC |
grpc | Transitive dependency of SwiftGRPC | Core | SwiftGRPC |
nanopb | Transitive dependency of SwiftGRPC | Core | SwiftGRPC |
openssl_grpc | Transitive dependency of SwiftGRPC | Core | SwiftGRPC |
Protobuf | Transitive dependency of SwiftGRPC | Core | SwiftGRPC |
SDWebImage | Async image downloader with cache support | Core | - |
GoogleMaps | Required for integrating the Cabs category | Optional | Cabs category |
If client app is written using Obj-C, add a User Defined parameter with SWIFT_VERSION and a value of 4.0.
Then run the command pod install