Commit cbb5d7df by Dmitriy Stepanets

Fixed iOS 13+ tile rendering. Updated Pods.

parent 4d76840e
......@@ -12,7 +12,7 @@
<key>OneWeatherNotificationServiceExtension.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>37</integer>
<integer>41</integer>
</dict>
<key>PG (Playground) 1.xcscheme</key>
<dict>
......
......@@ -51,7 +51,7 @@
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>0</integer>
<integer>1</integer>
</dict>
</dict>
</dict>
......
......@@ -133,8 +133,8 @@ class RadarViewController: UIViewController {
// set this offset to 1 to animate at lower zoom level (loads fewer tiles, faster), 0 is normal
overlay.loopZoomOffset = 0
overlay.alpha = 0.85
//overlay.debug = true
overlay.alpha = 0.5
overlay.debug = false
overlay.queryTimes {[weak self] (_, error) in
guard let self = self else { return }
......
PODS:
- AlgoliaSearchClient (8.8.1):
- Logging
- AmazonPublisherServicesSDK (3.4.6)
- AmazonPublisherServicesSDK (4.0.0)
- BezierKit (0.10.0)
- Cirque (1.0.3)
- FBAudienceNetwork (6.4.1):
- FBSDKCoreKit/Basics (>= 7.0.1)
- FBSDKCoreKit/Basics (9.2.0)
- FBSDKCoreKit/Basics (9.3.0)
- Firebase/Analytics (7.11.0):
- Firebase/Core
- Firebase/Core (7.11.0):
......@@ -85,8 +85,8 @@ PODS:
- Fyber_Marketplace_SDK/IASDKCore
- Fyber_Marketplace_SDK/IASDKVideo (7.8.1):
- Fyber_Marketplace_SDK/IASDKCore
- Google-Mobile-Ads-SDK (8.4.0):
- GoogleAppMeasurement (~> 7.0)
- Google-Mobile-Ads-SDK (8.5.0):
- GoogleAppMeasurement (< 9.0, >= 7.0)
- GoogleUserMessagingPlatform (>= 1.1)
- GoogleAppMeasurement (7.11.0):
- GoogleAppMeasurement/AdIdSupport (= 7.11.0)
......@@ -232,16 +232,16 @@ CHECKOUT OPTIONS:
:commit: ceb7ba910a35973cbcd41c73a62be6305aed4d13
:git: https://github.com/StepanetsDmtry/Cirque.git
Swarm:
:commit: da293fad110eb426679bfe0e4a7db709e37b278f
:commit: 85c4a3651dbc30b6320bcda27d1c0992b651f3a8
:git: "git@gitlab.pinsightmedia.com:oneweather/wdt-skywisetilekit-ios.git"
SPEC CHECKSUMS:
AlgoliaSearchClient: bbafe7f014cc0b474646d794ae3675ef4e92f0d5
AmazonPublisherServicesSDK: d302b2e4695be199fa520786f66570499cff6c94
AmazonPublisherServicesSDK: f73e281872525d1b929dca506c3a0332d4f902fa
BezierKit: 1828aca1675d68f0659c5353bc5b0d3399a3910c
Cirque: 1eb134f2180b33107106dc72e47340aefb054da3
FBAudienceNetwork: 1974ec59ef88102f284c29941d73d0cbec3f2874
FBSDKCoreKit: dace5abafc2fd9272733e6d027bcf18102712117
FBSDKCoreKit: 0d1ae58388a458b8222f72025804cdc84eb5d0c3
Firebase: c121feb35e4126c0b355e3313fa9b487d47319fd
FirebaseABTesting: e66f1f80747792630d9b292966de206d5df9853b
FirebaseAnalytics: cd3bd84d722a24a8923918af8af8e5236f615d77
......@@ -252,7 +252,7 @@ SPEC CHECKSUMS:
FirebaseRemoteConfig: 0ea30de5fb0231df8c1bdcdf3b6c23bdc5066131
Flurry-iOS-SDK: 5831da8fc6bedb31fa1f94aac6fd204d36dd351d
Fyber_Marketplace_SDK: e50a89023afd4f59ad51f35a188484fc59ac94d3
Google-Mobile-Ads-SDK: 093c3bf0aed3b7d1b8707221a15e3b6634f92dec
Google-Mobile-Ads-SDK: 6f5c41bf73db1656e5b203ba9c31e3d0899a128d
GoogleAppMeasurement: fd19169c3034975cb934e865e5667bfdce59df7f
GoogleDataTransport: cd9db2180fcecd8da1b561aea31e3e56cf834aa7
GoogleMobileAdsMediationFacebook: b1a98c90211ef76afd766804d07207c436709a47
......
......@@ -6,32 +6,32 @@
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_i386_x86_64-simulator</string>
<string>ios-arm64_armv7</string>
<key>LibraryPath</key>
<string>DTBiOSSDK.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>i386</string>
<string>x86_64</string>
<string>armv7</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string>
<string>ios-arm64_i386_x86_64-simulator</string>
<key>LibraryPath</key>
<string>DTBiOSSDK.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>armv7</string>
<string>i386</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
......
......@@ -85,14 +85,7 @@ typedef enum
-(void)removeNonIAB;
/**
* A Boolean value indicating whether the APS SDK should create a ID that can be used
* for frequency capping when the user has provided consent, limit ad tracking is on and the IDFA is all zeros.
* When set to NO, the SDK will not create a frequency capping id ID in the above case. When set to YES, the
* SDK will generate a frequency capping ID. The default value is YES, meaning the feature is enabled by default. This
* can be overriden by server side from APS Developer Portal.
*/
-(void)setAPSFrequencyCappingIdFeatureEnabled:(BOOL)frequencyCappingIdFeatureEnabled;
-(void)setAPSPublisherExtendedIdFeatureEnabled:(BOOL)publisherExtendedIdFeatureEnabled;
/**
* Use these APIs to add any custom attributes or parameters that might
......
......@@ -85,14 +85,7 @@ typedef enum
-(void)removeNonIAB;
/**
* A Boolean value indicating whether the APS SDK should create a ID that can be used
* for frequency capping when the user has provided consent, limit ad tracking is on and the IDFA is all zeros.
* When set to NO, the SDK will not create a frequency capping id ID in the above case. When set to YES, the
* SDK will generate a frequency capping ID. The default value is YES, meaning the feature is enabled by default. This
* can be overriden by server side from APS Developer Portal.
*/
-(void)setAPSFrequencyCappingIdFeatureEnabled:(BOOL)frequencyCappingIdFeatureEnabled;
-(void)setAPSPublisherExtendedIdFeatureEnabled:(BOOL)publisherExtendedIdFeatureEnabled;
/**
* Use these APIs to add any custom attributes or parameters that might
......
......@@ -6,19 +6,19 @@
<dict>
<key>DTBAdInterstitialViewController.nib/objects-11.0+.nib</key>
<data>
fCG2GOZR0d9Yx6at3j8I3gzf37M=
1t6leqobaI+ioLQQZbBesWOBbmM=
</data>
<key>DTBAdInterstitialViewController.nib/runtime.nib</key>
<data>
WllHR6cheIUeITy1LEy4WjGfKEQ=
7aE/aL1c9AjNWGpMyQjxEm/O6kk=
</data>
<key>DTBTwoPartExpandedViewController.nib/objects-11.0+.nib</key>
<data>
kp2vgf39pxutoM0rfrBEXZLDDBs=
gmLR0YLmgNGsXPZ3JDD3oQQu8Pc=
</data>
<key>DTBTwoPartExpandedViewController.nib/runtime.nib</key>
<data>
foB9DSVqTwvdNIfXS8pXd3MfgB0=
DTUlcz7BdH38wqkji3SefATlYA8=
</data>
<key>Headers/DTBAdBannerDispatcher.h</key>
<data>
......@@ -66,7 +66,7 @@
</data>
<key>Headers/DTBAds.h</key>
<data>
WNUeCcMQT2wSV93Gr0wBuau4InQ=
bPF+4d9E/s2surrQBCOfXXvpeTU=
</data>
<key>Headers/DTBErrorCodes.h</key>
<data>
......@@ -118,7 +118,7 @@
</data>
<key>Info.plist</key>
<data>
0oZezLPzezTvJgh6hLfXYnKMONA=
f20/NK1QFIaxSgYUSOhOyKG/JHI=
</data>
<key>Modules/module.modulemap</key>
<data>
......@@ -155,44 +155,44 @@
<dict>
<key>hash</key>
<data>
fCG2GOZR0d9Yx6at3j8I3gzf37M=
1t6leqobaI+ioLQQZbBesWOBbmM=
</data>
<key>hash2</key>
<data>
6QfcQZTSRyBuv/NsfVSjZIop65jHeHQeQUvW/d86cY0=
vy2QpV1mXhqFFOSEm6T1wv6dc7Gu8aCsOLLLUEu+UM8=
</data>
</dict>
<key>DTBAdInterstitialViewController.nib/runtime.nib</key>
<dict>
<key>hash</key>
<data>
WllHR6cheIUeITy1LEy4WjGfKEQ=
7aE/aL1c9AjNWGpMyQjxEm/O6kk=
</data>
<key>hash2</key>
<data>
poPlSSMxRhD/w8MmLslHx1eJpUaBvdBRDIdMAQT6CPM=
XS4kBc2+ZXH9fsFRH5SaABbaOYYeQ40aGVVS/U8GkPQ=
</data>
</dict>
<key>DTBTwoPartExpandedViewController.nib/objects-11.0+.nib</key>
<dict>
<key>hash</key>
<data>
kp2vgf39pxutoM0rfrBEXZLDDBs=
gmLR0YLmgNGsXPZ3JDD3oQQu8Pc=
</data>
<key>hash2</key>
<data>
VFjePj8ViBKmv77wyWWJ/SXyLgucnWtdy5dpMrN8vDQ=
joWwqJ26WSjVNjOprV+RdD2uIMuA0frXdalrmKXM81M=
</data>
</dict>
<key>DTBTwoPartExpandedViewController.nib/runtime.nib</key>
<dict>
<key>hash</key>
<data>
foB9DSVqTwvdNIfXS8pXd3MfgB0=
DTUlcz7BdH38wqkji3SefATlYA8=
</data>
<key>hash2</key>
<data>
4fna1LXU/LbTFGA7JMIkpY+4ClhezEIlWY/O7UuX+hY=
6LOLKIpM8EnI7zXTefTNl25L26h05/5DJdcHtvclso4=
</data>
</dict>
<key>Headers/DTBAdBannerDispatcher.h</key>
......@@ -320,11 +320,11 @@
<dict>
<key>hash</key>
<data>
WNUeCcMQT2wSV93Gr0wBuau4InQ=
bPF+4d9E/s2surrQBCOfXXvpeTU=
</data>
<key>hash2</key>
<data>
2rz9OJa5pyxMacHNLE70u8UFT2KYC7LpkEy4M7lWiJw=
evZjs/IipW58GevA3T1SJ3ddHLXMH3Ged7gg+rYj8kg=
</data>
</dict>
<key>Headers/DTBErrorCodes.h</key>
......
# Amazon Publisher Services SDK (v3.4.6)
# Amazon Publisher Services SDK (v4.0.0)
## Summary
......@@ -18,7 +18,7 @@ To get started:
```
target 'iOSSampleApp' do
pod 'AmazonPublisherServicesSDK', '3.4.6'
pod 'AmazonPublisherServicesSDK', '4.0.0'
end
```
......@@ -26,8 +26,8 @@ If you are using AdMob, include another pod for the adapters.
```
target 'iOSSampleApp' do
pod 'AmazonPublisherServicesSDK', '3.4.6'
pod 'AmazonPublisherServicesAdMobAdapter', '1.6.0'
pod 'AmazonPublisherServicesSDK', '4.0.0'
pod 'AmazonPublisherServicesAdMobAdapter', '2.0.0'
end
```
......@@ -35,8 +35,8 @@ If you are using MoPub, include another pod for the adapters.
```
target 'iOSSampleApp' do
pod 'AmazonPublisherServicesSDK', '3.4.6'
pod 'AmazonPublisherServicesMoPubAdapter', '1.3.0'
pod 'AmazonPublisherServicesSDK', '4.0.0'
pod 'AmazonPublisherServicesMoPubAdapter', '2.0.0'
end
```
......@@ -52,7 +52,7 @@ Your application project should now be configured with the APS SDK. Open the pro
Note that the command `pod 'AmazonPublisherServicesSDK'` will look for the latest `AmazonPublisherServicesSDK` framework when searching for the artifact. Alternatively, you can specify a particular version to be downloaded such as:
```
pod 'AmazonPublisherServicesSDK', '3.4.6'
pod 'AmazonPublisherServicesSDK', '4.0.0'
```
## License
......
......@@ -105,18 +105,18 @@ void fb_dispatch_on_default_thread(dispatch_block_t block)
} else if ([object isKindOfClass:[NSURL class]]) {
object = ((NSURL *)object).absoluteString;
} else if ([object isKindOfClass:[NSDictionary class]]) {
NSMutableDictionary<NSString *, id> *dictionary = [[NSMutableDictionary alloc] init];
NSMutableDictionary<NSString *, id> *dictionary = [NSMutableDictionary new];
[FBSDKTypeUtility dictionary:(NSDictionary<id, id> *) object enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *dictionaryStop) {
[FBSDKTypeUtility dictionary:dictionary
setObject:[self _convertObjectToJSONObject:obj invalidObjectHandler:invalidObjectHandler stop:&stop]
forKey:[FBSDKTypeUtility stringValue:key]];
forKey:[FBSDKTypeUtility coercedToStringValue:key]];
if (stop) {
*dictionaryStop = YES;
}
}];
object = dictionary;
} else if ([object isKindOfClass:[NSArray class]]) {
NSMutableArray<id> *array = [[NSMutableArray alloc] init];
NSMutableArray<id> *array = [NSMutableArray new];
for (id obj in (NSArray *)object) {
id convertedObj = [self _convertObjectToJSONObject:obj invalidObjectHandler:invalidObjectHandler stop:&stop];
[FBSDKTypeUtility array:array addObject:convertedObj];
......@@ -136,7 +136,7 @@ void fb_dispatch_on_default_thread(dispatch_block_t block)
+ (id)objectForJSONString:(NSString *)string error:(NSError *__autoreleasing *)errorRef
{
NSData *data = [[FBSDKTypeUtility stringValue:string] dataUsingEncoding:NSUTF8StringEncoding];
NSData *data = [[FBSDKTypeUtility stringValueOrNil:string] dataUsingEncoding:NSUTF8StringEncoding];
if (!data) {
if (errorRef != NULL) {
*errorRef = nil;
......@@ -150,7 +150,7 @@ void fb_dispatch_on_default_thread(dispatch_block_t block)
error:(NSError *__autoreleasing *)errorRef
invalidObjectHandler:(FBSDKInvalidObjectHandler)invalidObjectHandler
{
NSMutableString *queryString = [[NSMutableString alloc] init];
NSMutableString *queryString = [NSMutableString new];
__block BOOL hasParameters = NO;
if (dictionary) {
NSMutableArray<NSString *> *keys = [dictionary.allKeys mutableCopy];
......@@ -214,7 +214,7 @@ void fb_dispatch_on_default_thread(dispatch_block_t block)
+ (NSDictionary<NSString *, NSString *> *)dictionaryWithQueryString:(NSString *)queryString
{
NSMutableDictionary<NSString *, NSString *> *result = [[NSMutableDictionary alloc] init];
NSMutableDictionary<NSString *, NSString *> *result = [NSMutableDictionary new];
NSArray<NSString *> *parts = [queryString componentsSeparatedByString:@"&"];
for (NSString *part in parts) {
......
......@@ -114,12 +114,17 @@
}
}
+ (NSString *)stringValueOrNil:(id)object
{
return [self _objectValue:object ofClass:NSString.class];
}
+ (id)objectValue:(id)object
{
return ([object isKindOfClass:[NSNull class]] ? nil : object);
}
+ (NSString *)stringValue:(id)object
+ (NSString *)coercedToStringValue:(id)object
{
if ([object isKindOfClass:[NSString class]]) {
return (NSString *)object;
......
......@@ -18,9 +18,16 @@
#import "FBSDKURLSession.h"
#import <Foundation/Foundation.h>
#import "FBSDKBasicUtility.h"
#import "FBSDKURLSessionTask.h"
// At some point this default conformance declaration needs to be moved out of
// this class and treated like the dependency it is.
@interface NSURLSession (SessionProviding) <FBSDKSessionProviding>
@end
@implementation FBSDKURLSession
- (instancetype)initWithDelegate:(id<NSURLSessionDataDelegate>)delegate
......
......@@ -44,6 +44,7 @@ FBSDKAppEventUserDataType FBSDKAppEventCity = @"ct";
FBSDKAppEventUserDataType FBSDKAppEventState = @"st";
FBSDKAppEventUserDataType FBSDKAppEventZip = @"zp";
FBSDKAppEventUserDataType FBSDKAppEventCountry = @"country";
FBSDKAppEventUserDataType FBSDKAppEventExternalId = @"external_id";
@implementation FBSDKUserDataStore
......@@ -52,7 +53,7 @@ FBSDKAppEventUserDataType FBSDKAppEventCountry = @"country";
serialQueue = dispatch_queue_create("com.facebook.appevents.UserDataStore", DISPATCH_QUEUE_SERIAL);
hashedUserData = [FBSDKUserDataStore initializeUserData:FBSDKUserDataKey];
internalHashedUserData = [FBSDKUserDataStore initializeUserData:FBSDKInternalUserDataKey];
enabledRules = [[NSMutableSet alloc] init];
enabledRules = [NSMutableSet new];
}
+ (void)setUserEmail:(nullable NSString *)email
......@@ -65,8 +66,9 @@ FBSDKAppEventUserDataType FBSDKAppEventCountry = @"country";
state:(nullable NSString *)state
zip:(nullable NSString *)zip
country:(nullable NSString *)country
externalId:(nullable NSString *)externalId
{
NSMutableDictionary *ud = [[NSMutableDictionary alloc] init];
NSMutableDictionary *ud = [NSMutableDictionary new];
if (email) {
[FBSDKTypeUtility dictionary:ud setObject:[FBSDKUserDataStore encryptData:email type:FBSDKAppEventEmail] forKey:FBSDKAppEventEmail];
}
......@@ -97,6 +99,9 @@ FBSDKAppEventUserDataType FBSDKAppEventCountry = @"country";
if (country) {
[FBSDKTypeUtility dictionary:ud setObject:[FBSDKUserDataStore encryptData:country type:FBSDKAppEventCountry] forKey:FBSDKAppEventCountry];
}
if (externalId) {
[FBSDKTypeUtility dictionary:ud setObject:[FBSDKUserDataStore encryptData:externalId type:FBSDKAppEventExternalId] forKey:FBSDKAppEventExternalId];
}
dispatch_async(serialQueue, ^{
hashedUserData = [ud mutableCopy];
......@@ -161,7 +166,7 @@ FBSDKAppEventUserDataType FBSDKAppEventCountry = @"country";
{
__block NSString *hashedUserDataString;
dispatch_sync(serialQueue, ^{
NSMutableDictionary<NSString *, NSString *> *hashedUD = [[NSMutableDictionary alloc] init];
NSMutableDictionary<NSString *, NSString *> *hashedUD = [NSMutableDictionary new];
[hashedUD addEntriesFromDictionary:hashedUserData];
for (NSString *key in enabledRules) {
if (internalHashedUserData[key]) {
......@@ -184,7 +189,8 @@ FBSDKAppEventUserDataType FBSDKAppEventCountry = @"country";
city:nil
state:nil
zip:nil
country:nil];
country:nil
externalId:nil];
}
+ (NSString *)getInternalHashedDataForType:(FBSDKAppEventUserDataType)type
......@@ -208,7 +214,7 @@ FBSDKAppEventUserDataType FBSDKAppEventCountry = @"country";
error: nil];
}
if (!hashedUD) {
hashedUD = [[NSMutableDictionary alloc] init];
hashedUD = [NSMutableDictionary new];
}
return hashedUD;
}
......@@ -260,6 +266,8 @@ FBSDKAppEventUserDataType FBSDKAppEventCountry = @"country";
NSString *temp = [data stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
temp = temp.lowercaseString;
normalizedData = temp.length > 0 ? [temp substringToIndex:1] : @"";
} else if ([type isEqualToString:FBSDKAppEventExternalId]) {
normalizedData = data;
}
return normalizedData;
}
......
......@@ -19,7 +19,12 @@
#ifdef BUCK
#import <FBSDKCoreKit_Basics/FBSDKBasicUtility.h>
#import <FBSDKCoreKit_Basics/FBSDKCrashHandler.h>
#import <FBSDKCoreKit_Basics/FBSDKCrashHandler+CrashHandlerProtocol.h>
#import <FBSDKCoreKit_Basics/FBSDKCrashHandlerProtocol.h>
#import <FBSDKCoreKit_Basics/FBSDKCrashObserving.h>
#import <FBSDKCoreKit_Basics/FBSDKFileDataExtracting.h>
#import <FBSDKCoreKit_Basics/FBSDKFileManaging.h>
#import <FBSDKCoreKit_Basics/FBSDKInfoDictionaryProviding.h>
#import <FBSDKCoreKit_Basics/FBSDKJSONValue.h>
#import <FBSDKCoreKit_Basics/FBSDKLibAnalyzer.h>
#import <FBSDKCoreKit_Basics/FBSDKSafeCast.h>
......@@ -28,10 +33,16 @@
#import <FBSDKCoreKit_Basics/FBSDKURLSession.h>
#import <FBSDKCoreKit_Basics/FBSDKURLSessionTask.h>
#import <FBSDKCoreKit_Basics/FBSDKUserDataStore.h>
#import <FBSDKCoreKit_Basics/NSBundle+InfoDictionaryProviding.h>
#else
#import "FBSDKBasicUtility.h"
#import "FBSDKCrashHandler.h"
#import "FBSDKCrashHandler+CrashHandlerProtocol.h"
#import "FBSDKCrashHandlerProtocol.h"
#import "FBSDKCrashObserving.h"
#import "FBSDKFileDataExtracting.h"
#import "FBSDKFileManaging.h"
#import "FBSDKInfoDictionaryProviding.h"
#import "FBSDKJSONValue.h"
#import "FBSDKLibAnalyzer.h"
#import "FBSDKSafeCast.h"
......@@ -40,4 +51,5 @@
#import "FBSDKURLSession.h"
#import "FBSDKURLSessionTask.h"
#import "FBSDKUserDataStore.h"
#import "NSBundle+InfoDictionaryProviding.h"
#endif
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import "FBSDKCrashHandlerProtocol.h"
NS_ASSUME_NONNULL_BEGIN
// Default conformance to the FBSDKCrashHandler protocol
@interface FBSDKCrashHandler (CrashHandlerProtocol) <FBSDKCrashHandler>
@end
NS_ASSUME_NONNULL_END
......@@ -22,8 +22,12 @@
NS_ASSUME_NONNULL_BEGIN
NS_SWIFT_NAME(CrashHandler)
@interface FBSDKCrashHandler : NSObject
@property (class, nonatomic, readonly) FBSDKCrashHandler *shared;
- (void)disable;
+ (void)disable;
+ (void)addObserver:(id<FBSDKCrashObserving>)observer;
+ (void)removeObserver:(id<FBSDKCrashObserving>)observer;
......
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@protocol FBSDKCrashObserving;
NS_SWIFT_NAME(CrashHandlerProtocol)
@protocol FBSDKCrashHandler
- (void)addObserver:(id<FBSDKCrashObserving>)observer;
@end
......@@ -20,13 +20,12 @@
NS_ASSUME_NONNULL_BEGIN
@protocol FBSDKCrashObserving <NSObject>
NS_SWIFT_NAME(CrashObserving)
@protocol FBSDKCrashObserving
@property (nonatomic, copy) NSArray<NSString *> *prefixes;
@property (nullable, nonatomic, copy) NSArray<NSString *> *frameworks;
@optional
- (void)didReceiveCrashLogs:(NSArray<NSDictionary<NSString *, id> *> *)crashLogs;
@end
......
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// An internal protocol used to describe a type that can extract data from a file
NS_SWIFT_NAME(FileDataExtracting)
@protocol FBSDKFileDataExtracting
+ (nullable NSData *)dataWithContentsOfFile:(NSString *)path
options:(NSDataReadingOptions)readOptionsMask
error:(NSError * _Nullable *)errorPtr;
@end
@interface NSData (FileDataExtracting) <FBSDKFileDataExtracting>
@end
NS_ASSUME_NONNULL_END
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// An internal protocol used to describe a file manager
NS_SWIFT_NAME(FileManaging)
@protocol FBSDKFileManaging
- (nullable NSURL *)URLForDirectory:(NSSearchPathDirectory)directory
inDomain:(NSSearchPathDomainMask)domain
appropriateForURL:(NSURL *)url
create:(BOOL)shouldCreate
error:(NSError * _Nullable *)error;
- (BOOL)createDirectoryAtPath:(NSString *)path
withIntermediateDirectories:(BOOL)createIntermediates
attributes:(NSDictionary<NSFileAttributeKey, id> * _Nullable)attributes
error:(NSError * _Nullable *)error;
- (BOOL)fileExistsAtPath:(NSString *)path;
- (BOOL)removeItemAtPath:(NSString *)path
error:(NSError * _Nullable *)error;
- (NSArray<NSString *> *)contentsOfDirectoryAtPath:(NSString *)path
error:(NSError * _Nullable *)error;
@end
@interface NSFileManager (FBSDKFileManaging) <FBSDKFileManaging>
@end
NS_ASSUME_NONNULL_END
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
NS_SWIFT_NAME(InfoDictionaryProviding)
@protocol FBSDKInfoDictionaryProviding
@property(nullable, readonly, copy) NSDictionary<NSString *,id> *infoDictionary;
- (nullable id)objectForInfoDictionaryKey:(NSString *)key;
@end
NS_ASSUME_NONNULL_END
......@@ -40,13 +40,4 @@ NS_SWIFT_NAME(SessionProviding)
@end
// MARK: Default Protocol Conformances
@interface NSURLSessionDataTask (SessionDataTask) <FBSDKSessionDataTask>
@end
@interface NSURLSession (SessionProviding) <FBSDKSessionProviding>
@end
NS_ASSUME_NONNULL_END
......@@ -80,11 +80,14 @@ NS_SWIFT_NAME(TypeUtility)
/// Returns an NSNumber if the provided object is an NSNumber, otherwise returns nil.
+ (NSNumber *)numberValue:(id)object;
/// Returns an NSString if the provided object is an NSString, otherwise returns nil.
+ (NSString *)stringValueOrNil:(id)object;
/// Returns the provided object if it is non-null
+ (nullable id)objectValue:(id)object;
/// Returns an NSString if the provided object is an NSString, otherwise returns nil.
+ (nullable NSString *)stringValue:(id)object;
/// Returns an NSString if the provided object can be coered to an NSString, otherwise returns nil.
+ (nullable NSString *)coercedToStringValue:(id)object;
/// Returns an NSTimeInterval if the provided object is an NSTimeInterval, otherwise returns nil.
+ (NSTimeInterval)timeIntervalValue:(id)object;
......
......@@ -54,6 +54,9 @@ FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventZip;
/** Parameter key used to specify user's country. */
FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventCountry;
/** Parameter key used to specify user's external id. */
FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventExternalId;
NS_SWIFT_NAME(UserDataStore)
@interface FBSDKUserDataStore : NSObject
......@@ -73,6 +76,7 @@ NS_SWIFT_NAME(UserDataStore)
@param state user's state
@param zip user's zip
@param country user's country
@param externalId user's external id
*/
+ (void)setUserEmail:(nullable NSString *)email
firstName:(nullable NSString *)firstName
......@@ -84,7 +88,8 @@ NS_SWIFT_NAME(UserDataStore)
state:(nullable NSString *)state
zip:(nullable NSString *)zip
country:(nullable NSString *)country
NS_SWIFT_NAME(setUser(email:firstName:lastName:phone:dateOfBirth:gender:city:state:zip:country:));
externalId:(nullable NSString *)externalId
NS_SWIFT_NAME(setUser(email:firstName:lastName:phone:dateOfBirth:gender:city:state:zip:country:externalId:));
/*
Returns the set user data else nil
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment