braze-inc / braze-ios-sdk Goto Github PK
View Code? Open in Web Editor NEWPublic repo for the Braze iOS SDK (ObjC) for Swift Package Manager
Home Page: https://www.braze.com
License: Other
Public repo for the Braze iOS SDK (ObjC) for Swift Package Manager
Home Page: https://www.braze.com
License: Other
Using setLastKnownLocationWithLatitude(latitude: latitude, longitude: longitude, horizontalAccuracy: horizontalAccuracy, altitude: altitude, verticalAccuracy: verticalAccuracy)
to manually set the last known location for the user does not work.
The following error is returned:
The given parameters: latitude xx.xxxxxx([-90, 90]), longitude 0.000000([-180, 180]), horizontalAccuracy 13196.881470([0,∞)), altitude 0.000000, verticalAccuracy 0.000000([0,∞)), are not in the valid range, ignoring this location.
It seems the latitude and longitude are mixed and longitude is always converted to zero.
Using setLastKnownLocationWithLatitude(latitude: latitude, longitude: longitude, horizontalAccuracy: horizontalAccuracy)
works fine though.
SDK version 4.4.3
Hi, we are seeing lots of warnings of
treating #import as an import of module 'Foundation'"
Please see below.
SDK integrated via SPM
Appboy_iOS_SDK: https://github.com/braze-inc/braze-ios-sdk @ 4.4.1
⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/Appboy.h:11:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:44]: ▸ #import <Foundation/Foundation.h>
[14:49:44]: ▸ ^
[14:49:44]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/Appboy.h:12:1: treating #import as an import of module 'UIKit' [-Wauto-import]
[14:49:44]: ▸ #import <UIKit/UIKit.h>
[14:49:44]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/Appboy.h:13:1: treating #import as an import of module 'UserNotifications' [-Wauto-import]
[14:49:45]: ▸ #import <UserNotifications/UserNotifications.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKUser.h:5:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKFacebookUser.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKTwitterUser.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKAttributionData.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKCard.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKFeedController.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKContentCard.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKSdkAuthenticationError.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKSdkAuthenticationDelegate.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessage.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessage.h:2:1: treating #import as an import of module 'UIKit' [-Wauto-import]
[14:49:45]: ▸ #import <UIKit/UIKit.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessage.h:61:67: implicit conversion increases floating-point precision: 'float' to 'CGFloat' (aka 'double') [-Wdouble-promotion]
[14:49:45]: ▸ static CGFloat const RedValueOfDefaultIconColorAndButtonBgColor = 0.0f;
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessage.h:62:76: implicit conversion increases floating-point precision: 'float' to 'CGFloat' (aka 'double') [-Wdouble-promotion]
[14:49:45]: ▸ static CGFloat const GreenValueOfDefaultIconColorAndButtonBgColor = 115.0f / 255.0f;
[14:49:45]: ▸ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessage.h:63:75: implicit conversion increases floating-point precision: 'float' to 'CGFloat' (aka 'double') [-Wdouble-promotion]
[14:49:45]: ▸ static CGFloat const BlueValueOfDefaultIconColorAndButtonBgColor = 213.0f / 255.0f;
[14:49:45]: ▸ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~^~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessage.h:64:69: implicit conversion increases floating-point precision: 'float' to 'CGFloat' (aka 'double') [-Wdouble-promotion]
[14:49:45]: ▸ static CGFloat const AlphaValueOfDefaultIconColorAndButtonBgColor = 1.0f;
[14:49:45]: ▸ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~^~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageHTML.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageHTMLBase.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageHTMLFull.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageControllerDelegate.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageController.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageUIControlling.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:45]: ▸ #import <Foundation/Foundation.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:45]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageWebViewBridge.h:1:1: treating #import as an import of module 'WebKit' [-Wauto-import]
[14:49:45]: ▸ #imp
ort <WebKit/WebKit.h>
[14:49:45]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageDarkTheme.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:46]: ▸ #import <Foundation/Foundation.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageDarkTheme.h:2:1: treating #import as an import of module 'UIKit' [-Wauto-import]
[14:49:46]: ▸ #import <UIKit/UIKit.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageDarkButtonTheme.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:46]: ▸ #import <Foundation/Foundation.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKInAppMessageDarkButtonTheme.h:2:1: treating #import as an import of module 'UIKit' [-Wauto-import]
[14:49:46]: ▸ #import <UIKit/UIKit.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKContentCardsController.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:46]: ▸ #import <Foundation/Foundation.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKIDFADelegate.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:46]: ▸ #import <Foundation/Foundation.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKSDWebImageProxy.h:1:1: treating #import as an import of module 'UIKit' [-Wauto-import]
[14:49:46]: ▸ #import <UIKit/UIKit.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKImageDelegate.h:1:1: treating #import as an import of module 'UIKit' [-Wauto-import]
[14:49:46]: ▸ #import <UIKit/UIKit.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKLocationManager.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:46]: ▸ #import <Foundation/Foundation.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKLocationManager.h:2:1: treating #import as an import of module 'CoreLocation' [-Wauto-import]
[14:49:46]: ▸ #import <CoreLocation/CoreLocation.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKLocationManagerProvider.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:46]: ▸ #import <Foundation/Foundation.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKURLDelegate.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:46]: ▸ #import <Foundation/Foundation.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKPushUtils.h:2:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:46]: ▸ #import <Foundation/Foundation.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKPushUtils.h:3:1: treating #import as an import of module 'UserNotifications' [-Wauto-import]
[14:49:46]: ▸ #import <UserNotifications/UserNotifications.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKPushUtils.h:4:1: treating #import as an import of module 'UIKit' [-Wauto-import]
[14:49:46]: ▸ #import <UIKit/UIKit.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKModalWebViewController.h:1:1: treating #import as an import of module 'UIKit' [-Wauto-import]
[14:49:46]: ▸ #import <UIKit/UIKit.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKModalWebViewController.h:2:1: treating #import as an import of module 'WebKit' [-Wauto-import]
[14:49:46]: ▸ #import <WebKit/WebKit.h>
[14:49:46]: ▸ ^~~~~~~~~~~~~~~~~~~~~~~
[14:49:46]: ▸ ⚠️ **************************/checkouts/braze-ios-sdk/AppboyKit/include/ABKNoConnectionLocalization.h:1:1: treating #import as an import of module 'Foundation' [-Wauto-import]
[14:49:46]: ▸ #import <Foundation/Foundation.h>
I'm attempting to integrate the braze iOS SDK through Swift Package Manager and it is unable to resolve the dependency, with the error "artifact not found for target 'AppboyPushStoryFramework'
I've tried
I don't really want to go lower than that due to some of the breaking changes in 4.2.0 but I tried a couple and having same issue.
Device:
MacBook Pro (13-inch, M1, 2020)
OS:
Big Sur v 11.6
We are currently getting a single error each time we launch our app that says:
2021-11-01 08:57:44.876166+0100 APP[24258:4300106] +[ABKPersistentData configureForDataVersioning]: unrecognized selector sent to class 0x1132ee248
We are using AppBoy v 4.4.0 via SPM.
Since we migrated our dependency manager from Carthage to Swift Package Manager, the Braze modal & full screens are not displayed anymore.
We use the version 4.4.2 of the SDK.
We tried with both SDKs v4.4.2. from https://github.com/braze-inc/braze-ios-sdk & https://github.com/Appboy/appboy-ios-sdk
Push notifications are well delivered.
While testing a draft campaign of "in-app message" (modal, full screen or slide-up) using a test user uuid or email, the push with title "Tap to see Test in-app message" is well received. But clicking on it doesn't make the message appear on the screen.
Note: The issue also happen after launching the campaign.
test
Hi Braze Team
I try to decrease my app launch time by defer braze
setup,
i create a array of closure that hold all method that is called during launch time, such as init app boy, track event etc
is it safe to defer braze initialization until app launch process finish by using this approach
@import TVLFoundation;
@import Appboy_iOS_SDK;
...
typedef void (^BrazeCompletionBlock)(void);
@interface ThirdPartyBrazeIntegrationWrapper: ThirdPartyBrazeIntegration
@property (strong, nonatomic) NSMutableArray<BrazeCompletionBlock> *eventQueue;
@property (assign, nonatomic) BOOL *hasInitiated;
@end
@implementation ThirdPartyBrazeIntegrationWrapper
- (instancetype)initwithConfigType: (ThirdPartyTrackingConfig)configType {
self.eventQueue = [[NSMutableArray alloc] init];
self.hasInitiated = NO;
[self enqueue:^{
[super init];
}];
[self setupQueueExecutor];
return self;
}
- (void)applicationDidLaunch:(NSDictionary *)launchOptions {
[self enqueue:^{
[super applicationDidLaunch:launchOptions];
self.hasInitiated = YES;
}];
}
- (void)setUserID:(NSString *)userID {
[self enqueue:^{
[super setUserID:userID];
}];
}
- (void)identity:(ThirdPartyTrackPayload *)payload {
[self enqueue:^{
[super identity:payload];
}];
}
- (void)track:(ThirdPartyTrackPayload *)payload {
[self enqueue:^{
[super track:payload];
}];
}
- (void)registeredForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
[self enqueue:^{
[super registeredForRemoteNotificationsWithDeviceToken:deviceToken];
}];
}
#pragma mark - Private Methods
/// After app launch is finish
/// Call all method called during app launch based on the queue
- (void)setupQueueExecutor {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
if (!self.hasInitiated) {
for (BrazeCompletionBlock command in self.eventQueue) {
command();
}
}
self.eventQueue = nil;
});
});
}
/// Enqueue block that called during launch time
/// The queue block will be executed after app launch process finish
/// @param block bloc of code that called during app launch
- (void)enqueue:(BrazeCompletionBlock)block {
if (self.hasInitiated) {
block();
} else {
[self.eventQueue addObject:block];
}
}
@end
Platform
iOS
Platform Version
iOS 16.7
Braze SDK Version
7.4.0
Xcode Version
15.1.0
Integration Method
Swift Package Manager
Computer Processor
M1
Repro Rate
100%
Steps To Reproduce
Create a campaign on Braze dashboard with the following message:
Type: Full-screen
Layout: Image & Text
Enforced Device Orientation: Portrait
Add Image
Add Header text
Add Body text
Add 2 buttons with redirect to Web URL
Check Open Web URL Inside the App
Message Close: Wait for User to Dismiss
Expected Behavior
The view appears over the current app screen
Actual Incorrect Behavior
The view DOES NOT appear over the current app screen
Verbose Logs
023-12-20 18:33:56.260470-0300 XXXXXXXXXX[12898:2328509] [braze] [http] response 201 [sdk.iad-05.braze.com/api/v3/data](http://sdk.iad-05.braze.com/api/v3/data)
- Headers:
- Accept-Ranges: bytes
- Access-Control-Allow-Origin: *
- Cache-Control: max-age=0, private, must-revalidate
- Content-Encoding: gzip
- Content-Type: application/json
- Date: Wed, 20 Dec 2023 21:33:55 GMT
- Etag: W/"6cfcc10ccd722cf2e7154f0f377a27bf"
- Strict-Transport-Security: max-age=31536000; includeSubDomains
- Vary: Origin,Accept-Encoding
- Via: 1.1 varnish
- x-cache: MISS
- x-cache-hits: 0
- x-request-id: d7afa4cd-76da-4727-90a4-69baab8e7921
- x-runtime: 0.160439
- x-served-by: cache-gru-sbsp2090072-GRU
- Body:
{
"config" : {
"attributes_blacklist" : [
"account_balance_current_membership_level_name",
"current_sign_in_at",
"sms_subscription"
],
"content_cards" : {
"enabled" : 1
},
"events_blacklist" : [
"iap_trigger"
],
"geofences" : {
"enabled" : 0,
"min_time_since_last_report" : 0,
"min_time_since_last_request" : 86400,
"should_request_authorization" : 0
},
"messaging_session_timeout" : 21600,
"purchases_blacklist" : [
],
"test_user" : {
"device_logging_enabled" : 0
},
"time" : 1700610252
},
"feed" : [
],
"triggers" : [
{
"data" : {
"bg_color" : 4294243575,
"btns" : [
{
"bg_color" : 4279990479,
"border_color" : 4279990479,
"click_action" : "URI",
"id" : 0,
"text" : "WEBLINK",
"text_color" : 4294967295,
"uri" : "https://www.cnn.com",
"use_webview" : 1
}
],
"click_action" : "URI",
"close_btn_color" : 4291085508,
"frame_color" : 3207803699,
"header" : "TESTING Deeplinking",
"header_text_color" : 4280624421,
"image_style" : "TOP",
"image_url" : "https://braze-images.com/appboy/communication/marketing/slide_up/slide_up_message_parameters/images/65835b5f6fa172004deedc95/4d767b9edd3926e5b04f75d68466c30cdad7d86f/original.png?1703107427",
"message" : "Another test",
"message_close" : "SWIPE",
"orientation" : "PORTRAIT",
"text_align_header" : "CENTER",
"text_align_message" : "CENTER",
"text_color" : 4280624421,
"trigger_id" : "VERYLARGEBASE64STRING==",
"type" : "FULL"
},
"delay" : 0,
"end_time" : null,
"id" : "HEXID",
"only_ipads" : 1,
"only_iphones" : 1,
"priority" : 2000004000,
"re_eligibility" : 60,
"start_time" : 1703085300,
"trigger_condition" : [
{
"app_ids" : [
"HEXAPPID"
],
"type" : "open"
}
],
"type" : "inapp"
}
]
}
Additional Information
Notes:
It is working ok on Android.
IAMs without buttons works ok.
Push notifications are well delivered.
App uses Storyboard and UIKit API.
The following libraries are added to the main target:
Integrating AppboyKit and AppboyUI with Swift Package Manager and Xcode 13 beta 3 (13A5192i).
Library compiles without errors.
Compiler emits error
'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.
'openURL:' is unavailable: not available on iOS (App Extension)
This error appears due to the changes in the linker mentioned in the Xcode release notes
Resolved in Xcode 13 Beta 3
Linking Swift packages from application extension targets or watchOS applications no longer emits unresolvable warnings about linking to libraries not safe for use in application extensions. This means that code referencing APIs annotated as unavailable for use in app extensions must now themselves be annotated as unavailable for use in application extensions, in order to allow that code to be used in both apps and app extensions. (66928265)
All libraries that use API marked as unavailable in iOS app extensions, such as UIApplication.shared
, have to mark their code themself with @available(iOSApplicationExtension, unavailable)
in Swift and NS_EXTENSION_UNAVAILABLE
in Objective-C.
Xcode Version: 13 beta 3 (13A5192i)
Appboy SDK Version: 4.0.2
Deployment Target: iOS 11.4
Base SDK: 15.0
Method of Integration: Swift Package Manager
The title says most of it. But we were trying to open a deep link from and In-App-Message and it was not working, after debuting the SDK we manage to find that this line, when both the path and assets are nil
it will return YES
making the app open the URL in the web view, even for deep link URLs.
We manage to work around it by adding an empty zip file to the assets field or adding a path to the deep link, but would be great to have it looked after in the SDK.
We have recently launched a new version of our app and have seen a dramatic decline in user actions in Braze.
After some debugging, we noticed this message in the console:
2021-06-10 20:02:01.888471-0700 [APPBOY] Exception NSInvalidArgumentException caught in Braze method initWithApiKey:withAppboyOptions:: +[ABKPersistentData configureForDataVersioning]: unrecognized selector sent to class 0x11451d470
This exception is raised right after calling:
//AppDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
//...
Appboy.start(withApiKey: "XXXX-XXXX-XXX-XXX-XXXX"), in: application, withLaunchOptions: launchOptions)
Before that last release we imported Appboy SDK using Cocoapods. For this new release of our app we switched to SPM.
Notice that we used to import from Appboy repo with
pod 'Appboy-iOS-SDK/Core'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.