Adobe Experience Platform Core SDK
About this project
The AEPCore
, AEPServices
, and AEPIdentity
extensions represent the foundation of the Adobe Experience Platform SDK - every app using the SDK must include them. These modules contain a common set of functionality and services which are required by all SDK extensions.
AEPCore
contains implementation of the Event Hub. The Event Hub is the mechanism used for delivering events between the app and the SDK. The Event Hub is also used for sharing data between extensions.
AEPServices
provides several reusable implementations needed for platform support, including networking, disk access, and database management.
AEPIdentity
implements the integration with Adobe Experience Platform Identity services.
AEPSignal
represents the Adobe Experience Platform SDK's Signal
extension that allows marketers to send a "signal" to their apps to send data to external destinations or to open URLs.
AEPLifecycle
represents the Adobe Experience Platform SDK's Lifecycle
extension that helps collect application Lifecycle metrics such as, application install or upgrade information, application launch and session information, device information, and any additional context data provided by the application developer.
Requirements
- Xcode 14.1 (or newer)
- Swift 5.1 (or newer)
Installation
These are currently the supported installation options:
CocoaPods
# Podfile
use_frameworks!
# for app development, include all the following pods
target 'YOUR_TARGET_NAME' do
pod 'AEPCore'
pod 'AEPLifecycle'
pod 'AEPIdentity'
pod 'AEPSignal'
end
# for extension development, include AEPCore and its dependencies
target 'YOUR_TARGET_NAME' do
pod 'AEPCore'
end
Replace YOUR_TARGET_NAME
and then, in the Podfile
directory, type:
$ pod install
Swift Package Manager
To add the AEPCore Package to your application, from the Xcode menu select:
File > Swift Packages > Add Package Dependency...
Enter the URL for the AEPCore package repository: https://github.com/adobe/aepsdk-core-ios.git
.
When prompted, input a specific version or a range of versions, and choose all the AEP*
libraries.
Alternatively, if your project has a Package.swift
file, you can add AEPCore directly to your dependencies:
dependencies: [
.package(url: "https://github.com/adobe/aepsdk-core-ios.git", .upToNextMajor(from: "4.0.0"))
]
Project Reference
Include AEPCore.xcodeproj
in the targeted Xcode project and link all necessary libraries to your app target.
Binaries
Run make archive
or make archive-ios
from the root directory to generate .xcframeworks
for each module. The make archive
command will generate XCFrameworks which support iOS and tvOS, while make archive-ios
will generate XCFrameworks for iOS alone. Once complete, the XCFrameworks can be found in the build
folder. Drag and drop all .xcframeworks
to your app target in Xcode.
Documentation
Additional documentation for usage and SDK architecture can be found under the Documentation directory.
Related Projects
Project | Description |
---|---|
AEPEdge Extension | Provides support to the Experience Platform Edge for the AEP SDK. |
AEPRulesEngine | Implementation of the Rules Engine used by the AEP SDK. |
AEP SDK Sample App for iOS | Contains iOS sample apps for the AEP SDK. Apps are provided for both Objective-C and Swift implementations. |
AEP SDK Sample Extension for iOS | Contains a sample implementation of an iOS extension for the AEP SDK. Example implementations are provided for both Objective-C and Swift. |
AEP SDK Compatibility for iOS | Contains code that bridges ACPCore and 3rd party extension implementations into the AEP SDK runtime. |
Contributing
Contributions are welcomed! Read the Contributing Guide for more information.
Licensing
This project is licensed under the Apache V2 License. See LICENSE for more information.