Closed dazy1030 closed 1 year ago
Hi @dazy1030,
As you observed above, our SDK is not meant to be imported withe the use_frameworks!
since we distribute our SDK as prebuilt binaries. It looks like you are getting some duplicate symbols since BrazeKit
and BrazeNotificationService
aren't meant to be compiled into the same target, even though you explicitly have separate targets.
Based on the Cocoapods docs here, can you try to add the use_frameworks!
annotation inside your target that imports the BrazeKit
package, but not add that annotation for your NotificationService
target? Let us know if that addresses your issue - it would look like:
target 'AppPlayground' do
use_frameworks!
pod 'BrazeKit'
end
target 'NotificationService' do
pod 'BrazeNotificationService'
end
Hi @hokstuff, thanks for the quick response.
I have tried and tested the information you provided and the build was successful with the following Podfile. Thank you very much for your help.
# Podfile
platform :ios, '14.0'
target 'AppPlayground' do
use_frameworks!
pod 'BrazeKit'
end
target 'NotificationService' do
use_frameworks! :linkage => :static
pod 'BrazeNotificationService'
end
Great - and thanks for sharing your code as well!
Platform
iOS
Platform Version
iOS14 or higher
Braze SDK Version
5.8.1
Xcode Version
Xcode14.1
Computer Processor
Intel
Repro Rate
100%
Steps To Reproduce
pod init
command.Describe the Podfile as follows and execute the
pod install
command.Expected Behavior
Build succeeds.
Actual Incorrect Behavior
"130 duplicate symbols for architecture arm64" warning and build fails.
Verbose Logs
Additional Information
If "use_frameworks!" is not added, the build will succeed.