[A] Firebase
This commit is contained in:
@@ -32,6 +32,7 @@ namespace tysdk.editor
|
|||||||
XCodeSetSigingAndCapbilities(target, proj, pathToBuiltProject);
|
XCodeSetSigingAndCapbilities(target, proj, pathToBuiltProject);
|
||||||
ProcessBuildSettings(proj);
|
ProcessBuildSettings(proj);
|
||||||
XcodeOverwriteFiles(pathToBuiltProject, proj);
|
XcodeOverwriteFiles(pathToBuiltProject, proj);
|
||||||
|
ProceeFirebasePlist(target, proj, pathToBuiltProject);
|
||||||
|
|
||||||
UnityEngine.Debug.Log($"XCodeProj {pbxprojPath}");
|
UnityEngine.Debug.Log($"XCodeProj {pbxprojPath}");
|
||||||
File.WriteAllText(pbxprojPath, proj.WriteToString());
|
File.WriteAllText(pbxprojPath, proj.WriteToString());
|
||||||
@@ -65,6 +66,14 @@ namespace tysdk.editor
|
|||||||
//proj.AddCapability(target, PBXCapabilityType.AssociatedDomains, "Unity-iPhone/Unity-iPhone.entitlements");
|
//proj.AddCapability(target, PBXCapabilityType.AssociatedDomains, "Unity-iPhone/Unity-iPhone.entitlements");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void ProceeFirebasePlist(string target, PBXProject proj, string root)
|
||||||
|
{
|
||||||
|
var plistPath = Path.Combine("Packages/tysdk/Files", "GoogleService-Info.plist");
|
||||||
|
File.Copy(plistPath, $"{root}/GoogleService-Info.plist", true);
|
||||||
|
var plistGuid = proj.AddFile("GoogleService-Info.plist", "GoogleService-Info.plist", PBXSourceTree.Source);
|
||||||
|
proj.AddFileToBuild(target, plistGuid);
|
||||||
|
}
|
||||||
|
|
||||||
private static void ProcessBuildSettings(PBXProject proj)
|
private static void ProcessBuildSettings(PBXProject proj)
|
||||||
{
|
{
|
||||||
string target = proj.TargetGuidByName("GameAssembly");
|
string target = proj.TargetGuidByName("GameAssembly");
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CLIENT_ID</key>
|
||||||
|
<string>481260393117-88n0v3ht8ashhk0r5ri47hced7o5qj62.apps.googleusercontent.com</string>
|
||||||
|
<key>REVERSED_CLIENT_ID</key>
|
||||||
|
<string>com.googleusercontent.apps.481260393117-88n0v3ht8ashhk0r5ri47hced7o5qj62</string>
|
||||||
|
<key>ANDROID_CLIENT_ID</key>
|
||||||
|
<string>481260393117-jhq50gh6n2p6pat1bjhcgj3th1ke19jg.apps.googleusercontent.com</string>
|
||||||
|
<key>API_KEY</key>
|
||||||
|
<string>AIzaSyDQrn5AeVA-T0PV22PtuUc_GrpK-M5cl-k</string>
|
||||||
|
<key>GCM_SENDER_ID</key>
|
||||||
|
<string>481260393117</string>
|
||||||
|
<key>PLIST_VERSION</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>BUNDLE_ID</key>
|
||||||
|
<string>com.arkgame.ft</string>
|
||||||
|
<key>PROJECT_ID</key>
|
||||||
|
<string>fishing-travel</string>
|
||||||
|
<key>STORAGE_BUCKET</key>
|
||||||
|
<string>fishing-travel.appspot.com</string>
|
||||||
|
<key>IS_ADS_ENABLED</key>
|
||||||
|
<false></false>
|
||||||
|
<key>IS_ANALYTICS_ENABLED</key>
|
||||||
|
<false></false>
|
||||||
|
<key>IS_APPINVITE_ENABLED</key>
|
||||||
|
<true></true>
|
||||||
|
<key>IS_GCM_ENABLED</key>
|
||||||
|
<true></true>
|
||||||
|
<key>IS_SIGNIN_ENABLED</key>
|
||||||
|
<true></true>
|
||||||
|
<key>GOOGLE_APP_ID</key>
|
||||||
|
<string>1:481260393117:ios:120b4fb634fae8d007fa74</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 363a577373a8c487da06a71bde433af3
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bacddd479751940f38f3f6cbe40aed5c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a3fe1b8c344ad4d8f9319024cfc3a7a8
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,139 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>AvailableLibraries</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FBLPromises.framework/FBLPromises</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>watchos-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FBLPromises.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>watchos</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FBLPromises.framework/Versions/A/FBLPromises</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64_x86_64-maccatalyst</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FBLPromises.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>maccatalyst</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FBLPromises.framework/FBLPromises</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>tvos-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FBLPromises.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>tvos</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FBLPromises.framework/FBLPromises</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FBLPromises.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FBLPromises.framework/Versions/A/FBLPromises</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>macos-arm64_x86_64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FBLPromises.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>macos</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FBLPromises.framework/FBLPromises</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FBLPromises.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FBLPromises.framework/FBLPromises</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>watchos-arm64_arm64_32</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FBLPromises.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>arm64_32</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>watchos</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FBLPromises.framework/FBLPromises</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>tvos-arm64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FBLPromises.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>tvos</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>XFWK</string>
|
||||||
|
<key>XCFrameworkFormatVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c0a3b183b58de44998e0cda899934d91
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bb47f8d5cfa524b4f9e0814d61b5ea23
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c142c50407f3f42b0821da5c41f1b56b
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2988aaddb8a0e42d4bb0d5867fa9cf27
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2dc9bb9155dcf4b2e99b0799048b10ba
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7bf6582d2d284457bb2bda63f961bbbf
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 836945365524b44ea9bd164aa0a6dedb
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 456ab338953354d13b8616124831353d
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0af90d3ebafed4f198cc440d5c290efb
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 1
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>NSPrivacyAccessedAPITypes</key>
|
||||||
|
<array/>
|
||||||
|
<key>NSPrivacyCollectedDataTypes</key>
|
||||||
|
<array/>
|
||||||
|
<key>NSPrivacyTracking</key>
|
||||||
|
<false/>
|
||||||
|
<key>NSPrivacyTrackingDomains</key>
|
||||||
|
<array/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(AllAdditions)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Wait until all of the given promises are fulfilled.
|
||||||
|
If one of the given promises is rejected, then the returned promise is rejected with same error.
|
||||||
|
If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
|
||||||
|
it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
|
||||||
|
Promises resolved with `nil` become `NSNull` instances in the resulting array.
|
||||||
|
|
||||||
|
@param promises Promises to wait for.
|
||||||
|
@return Promise of an array containing the values of input promises in the same order.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSArray *> *)all:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Wait until all of the given promises are fulfilled.
|
||||||
|
If one of the given promises is rejected, then the returned promise is rejected with same error.
|
||||||
|
If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
|
||||||
|
it's implicitly considered a pre-fulfilled or pre-rejected FBLPromise correspondingly.
|
||||||
|
Promises resolved with `nil` become `NSNull` instances in the resulting array.
|
||||||
|
|
||||||
|
@param queue A queue to dispatch on.
|
||||||
|
@param promises Promises to wait for.
|
||||||
|
@return Promise of an array containing the values of input promises in the same order.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
|
||||||
|
all:(NSArray *)promises NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `all` operators.
|
||||||
|
Usage: FBLPromise.all(@[ ... ])
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_AllAdditions)
|
||||||
|
|
||||||
|
+ (FBLPromise<NSArray *> * (^)(NSArray *))all FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))allOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(AlwaysAdditions)
|
||||||
|
|
||||||
|
typedef void (^FBLPromiseAlwaysWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block that always executes, no matter if the receiver is rejected or fulfilled.
|
||||||
|
@return A new pending promise to be resolved with same resolution as the receiver.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)always:(FBLPromiseAlwaysWorkBlock)work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to dispatch on.
|
||||||
|
@param work A block that always executes, no matter if the receiver is rejected or fulfilled.
|
||||||
|
@return A new pending promise to be resolved with same resolution as the receiver.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
|
||||||
|
always:(FBLPromiseAlwaysWorkBlock)work NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `always` operators.
|
||||||
|
Usage: promise.always(^{...})
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_AlwaysAdditions)
|
||||||
|
|
||||||
|
- (FBLPromise* (^)(FBLPromiseAlwaysWorkBlock))always FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAlwaysWorkBlock))alwaysOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(AnyAdditions)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Waits until all of the given promises are either fulfilled or rejected.
|
||||||
|
If all promises are rejected, then the returned promise is rejected with same error
|
||||||
|
as the last one rejected.
|
||||||
|
If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
|
||||||
|
values or `NSErrors`, matching the original order of fulfilled or rejected promises respectively.
|
||||||
|
If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
|
||||||
|
it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
|
||||||
|
Promises resolved with `nil` become `NSNull` instances in the resulting array.
|
||||||
|
|
||||||
|
@param promises Promises to wait for.
|
||||||
|
@return Promise of array containing the values or `NSError`s of input promises in the same order.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSArray *> *)any:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Waits until all of the given promises are either fulfilled or rejected.
|
||||||
|
If all promises are rejected, then the returned promise is rejected with same error
|
||||||
|
as the last one rejected.
|
||||||
|
If at least one of the promises is fulfilled, the resulting promise is fulfilled with an array of
|
||||||
|
values or `NSError`s, matching the original order of fulfilled or rejected promises respectively.
|
||||||
|
If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
|
||||||
|
it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
|
||||||
|
Promises resolved with `nil` become `NSNull` instances in the resulting array.
|
||||||
|
|
||||||
|
@param queue A queue to dispatch on.
|
||||||
|
@param promises Promises to wait for.
|
||||||
|
@return Promise of array containing the values or `NSError`s of input promises in the same order.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSArray *> *)onQueue:(dispatch_queue_t)queue
|
||||||
|
any:(NSArray *)promises NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `any` operators.
|
||||||
|
Usage: FBLPromise.any(@[ ... ])
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_AnyAdditions)
|
||||||
|
|
||||||
|
+ (FBLPromise<NSArray *> * (^)(NSArray *))any FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSArray *> * (^)(dispatch_queue_t, NSArray *))anyOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(AsyncAdditions)
|
||||||
|
|
||||||
|
typedef void (^FBLPromiseFulfillBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseRejectBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseAsyncWorkBlock)(FBLPromiseFulfillBlock fulfill,
|
||||||
|
FBLPromiseRejectBlock reject) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise and executes `work` block asynchronously.
|
||||||
|
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@return A new pending promise.
|
||||||
|
*/
|
||||||
|
+ (instancetype)async:(FBLPromiseAsyncWorkBlock)work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise and executes `work` block asynchronously on the given queue.
|
||||||
|
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@return A new pending promise.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue
|
||||||
|
async:(FBLPromiseAsyncWorkBlock)work NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `async` operators.
|
||||||
|
Usage: FBLPromise.async(^(FBLPromiseFulfillBlock fulfill, FBLPromiseRejectBlock reject) { ... })
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_AsyncAdditions)
|
||||||
|
|
||||||
|
+ (FBLPromise* (^)(FBLPromiseAsyncWorkBlock))async FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(dispatch_queue_t, FBLPromiseAsyncWorkBlock))asyncOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/**
|
||||||
|
Waits for promise resolution. The current thread blocks until the promise is resolved.
|
||||||
|
|
||||||
|
@param promise Promise to wait for.
|
||||||
|
@param error Error the promise was rejected with, or `nil` if the promise was fulfilled.
|
||||||
|
@return Value the promise was fulfilled with. If the promise was rejected, the return value
|
||||||
|
is always `nil`, but the error out arg is not.
|
||||||
|
*/
|
||||||
|
FOUNDATION_EXTERN id __nullable FBLPromiseAwait(FBLPromise *promise,
|
||||||
|
NSError **error) NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(CatchAdditions)
|
||||||
|
|
||||||
|
typedef void (^FBLPromiseCatchWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise which eventually gets resolved with same resolution as the receiver.
|
||||||
|
If receiver is rejected, then `reject` block is executed asynchronously.
|
||||||
|
|
||||||
|
@param reject A block to handle the error that receiver was rejected with.
|
||||||
|
@return A new pending promise.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)catch:(FBLPromiseCatchWorkBlock)reject NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise which eventually gets resolved with same resolution as the receiver.
|
||||||
|
If receiver is rejected, then `reject` block is executed asynchronously on the given queue.
|
||||||
|
|
||||||
|
@param queue A queue to invoke the `reject` block on.
|
||||||
|
@param reject A block to handle the error that receiver was rejected with.
|
||||||
|
@return A new pending promise.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
|
||||||
|
catch:(FBLPromiseCatchWorkBlock)reject NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `catch` operators.
|
||||||
|
Usage: promise.catch(^(NSError *error) { ... })
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_CatchAdditions)
|
||||||
|
|
||||||
|
- (FBLPromise* (^)(FBLPromiseCatchWorkBlock))catch FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseCatchWorkBlock))catchOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(DelayAdditions)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
|
||||||
|
rejects with the same error immediately.
|
||||||
|
|
||||||
|
@param interval Time to wait in seconds.
|
||||||
|
@return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
|
||||||
|
with the same error immediately.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)delay:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a new pending promise that fulfills with the same value as `self` after the `delay`, or
|
||||||
|
rejects with the same error immediately.
|
||||||
|
|
||||||
|
@param queue A queue to dispatch on.
|
||||||
|
@param interval Time to wait in seconds.
|
||||||
|
@return A new pending promise that fulfills at least `delay` seconds later than `self`, or rejects
|
||||||
|
with the same error immediately.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
|
||||||
|
delay:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `delay` operators.
|
||||||
|
Usage: promise.delay(...)
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_DelayAdditions)
|
||||||
|
|
||||||
|
- (FBLPromise * (^)(NSTimeInterval))delay FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
- (FBLPromise * (^)(dispatch_queue_t, NSTimeInterval))delayOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(DoAdditions)
|
||||||
|
|
||||||
|
typedef id __nullable (^FBLPromiseDoWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise and executes `work` block asynchronously.
|
||||||
|
|
||||||
|
@param work A block that returns a value or an error used to resolve the promise.
|
||||||
|
@return A new pending promise.
|
||||||
|
*/
|
||||||
|
+ (instancetype)do:(FBLPromiseDoWorkBlock)work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise and executes `work` block asynchronously on the given queue.
|
||||||
|
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block that returns a value or an error used to resolve the promise.
|
||||||
|
@return A new pending promise.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue do:(FBLPromiseDoWorkBlock)work NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `do` operators.
|
||||||
|
Usage: FBLPromise.doOn(queue, ^(NSError *error) { ... })
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_DoAdditions)
|
||||||
|
|
||||||
|
+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseDoWorkBlock))doOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(RaceAdditions)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Wait until any of the given promises are fulfilled.
|
||||||
|
If one of the promises is rejected, then the returned promise is rejected with same error.
|
||||||
|
If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
|
||||||
|
it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
|
||||||
|
|
||||||
|
@param promises Promises to wait for.
|
||||||
|
@return A new pending promise to be resolved with the same resolution as the first promise, among
|
||||||
|
the given ones, which was resolved.
|
||||||
|
*/
|
||||||
|
+ (instancetype)race:(NSArray *)promises NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Wait until any of the given promises are fulfilled.
|
||||||
|
If one of the promises is rejected, then the returned promise is rejected with same error.
|
||||||
|
If any other arbitrary value or `NSError` appears in the array instead of `FBLPromise`,
|
||||||
|
it's implicitly considered a pre-fulfilled or pre-rejected `FBLPromise` correspondingly.
|
||||||
|
|
||||||
|
@param queue A queue to dispatch on.
|
||||||
|
@param promises Promises to wait for.
|
||||||
|
@return A new pending promise to be resolved with the same resolution as the first promise, among
|
||||||
|
the given ones, which was resolved.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue race:(NSArray *)promises NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `race` operators.
|
||||||
|
Usage: FBLPromise.race(@[ ... ])
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_RaceAdditions)
|
||||||
|
|
||||||
|
+ (FBLPromise * (^)(NSArray *))race FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise * (^)(dispatch_queue_t, NSArray *))raceOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(RecoverAdditions)
|
||||||
|
|
||||||
|
typedef id __nullable (^FBLPromiseRecoverWorkBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Provides a new promise to recover in case the receiver gets rejected.
|
||||||
|
|
||||||
|
@param recovery A block to handle the error that the receiver was rejected with.
|
||||||
|
@return A new pending promise to use instead of the rejected one that gets resolved with resolution
|
||||||
|
returned from `recovery` block.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)recover:(FBLPromiseRecoverWorkBlock)recovery NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Provides a new promise to recover in case the receiver gets rejected.
|
||||||
|
|
||||||
|
@param queue A queue to dispatch on.
|
||||||
|
@param recovery A block to handle the error that the receiver was rejected with.
|
||||||
|
@return A new pending promise to use instead of the rejected one that gets resolved with resolution
|
||||||
|
returned from `recovery` block.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
|
||||||
|
recover:(FBLPromiseRecoverWorkBlock)recovery NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `recover` operators.
|
||||||
|
Usage: promise.recover(^id(NSError *error) {...})
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_RecoverAdditions)
|
||||||
|
|
||||||
|
- (FBLPromise * (^)(FBLPromiseRecoverWorkBlock))recover FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRecoverWorkBlock))recoverOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(ReduceAdditions)
|
||||||
|
|
||||||
|
typedef id __nullable (^FBLPromiseReducerBlock)(Value __nullable partial, id next)
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sequentially reduces a collection of values to a single promise using a given combining block
|
||||||
|
and the value `self` resolves with as initial value.
|
||||||
|
|
||||||
|
@param items An array of values to process in order.
|
||||||
|
@param reducer A block to combine an accumulating value and an element of the sequence into
|
||||||
|
the new accumulating value or a promise resolved with it, to be used in the next
|
||||||
|
call of the `reducer` or returned to the caller.
|
||||||
|
@return A new pending promise returned from the last `reducer` invocation.
|
||||||
|
Or `self` if `items` is empty.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)reduce:(NSArray *)items
|
||||||
|
combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sequentially reduces a collection of values to a single promise using a given combining block
|
||||||
|
and the value `self` resolves with as initial value.
|
||||||
|
|
||||||
|
@param queue A queue to dispatch on.
|
||||||
|
@param items An array of values to process in order.
|
||||||
|
@param reducer A block to combine an accumulating value and an element of the sequence into
|
||||||
|
the new accumulating value or a promise resolved with it, to be used in the next
|
||||||
|
call of the `reducer` or returned to the caller.
|
||||||
|
@return A new pending promise returned from the last `reducer` invocation.
|
||||||
|
Or `self` if `items` is empty.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
|
||||||
|
reduce:(NSArray *)items
|
||||||
|
combine:(FBLPromiseReducerBlock)reducer NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `reduce` operators.
|
||||||
|
Usage: promise.reduce(values, ^id(id partial, id next) { ... })
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_ReduceAdditions)
|
||||||
|
|
||||||
|
- (FBLPromise * (^)(NSArray *, FBLPromiseReducerBlock))reduce FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
- (FBLPromise * (^)(dispatch_queue_t, NSArray *, FBLPromiseReducerBlock))reduceOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,165 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/** The default number of retry attempts is 1. */
|
||||||
|
FOUNDATION_EXTERN NSInteger const FBLPromiseRetryDefaultAttemptsCount NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
/** The default delay interval before making a retry attempt is 1.0 second. */
|
||||||
|
FOUNDATION_EXTERN NSTimeInterval const FBLPromiseRetryDefaultDelayInterval NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(RetryAdditions)
|
||||||
|
|
||||||
|
typedef id __nullable (^FBLPromiseRetryWorkBlock)(void) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef BOOL (^FBLPromiseRetryPredicateBlock)(NSInteger, NSError *) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, which executes asynchronously, or rejects with the same error after all retry attempts have
|
||||||
|
been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on rejection where the
|
||||||
|
`work` block is retried after a delay of `FBLPromiseRetryDefaultDelayInterval` second(s).
|
||||||
|
|
||||||
|
@param work A block that executes asynchronously on the default queue and returns a value or an
|
||||||
|
error used to resolve the promise.
|
||||||
|
@return A new pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, or rejects with the same error after all retry attempts have been exhausted.
|
||||||
|
*/
|
||||||
|
+ (instancetype)retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, which executes asynchronously on the given `queue`, or rejects with the same error after all
|
||||||
|
retry attempts have been exhausted. Defaults to `FBLPromiseRetryDefaultAttemptsCount` attempt(s) on
|
||||||
|
rejection where the `work` block is retried on the given `queue` after a delay of
|
||||||
|
`FBLPromiseRetryDefaultDelayInterval` second(s).
|
||||||
|
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block that executes asynchronously on the given `queue` and returns a value or an
|
||||||
|
error used to resolve the promise.
|
||||||
|
@return A new pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, or rejects with the same error after all retry attempts have been exhausted.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue
|
||||||
|
retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, which executes asynchronously, or rejects with the same error after all retry attempts have
|
||||||
|
been exhausted.
|
||||||
|
|
||||||
|
@param count Max number of retry attempts. The `work` block will be executed once if the specified
|
||||||
|
count is less than or equal to zero.
|
||||||
|
@param work A block that executes asynchronously on the default queue and returns a value or an
|
||||||
|
error used to resolve the promise.
|
||||||
|
@return A new pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, or rejects with the same error after all retry attempts have been exhausted.
|
||||||
|
*/
|
||||||
|
+ (instancetype)attempts:(NSInteger)count
|
||||||
|
retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, which executes asynchronously on the given `queue`, or rejects with the same error after all
|
||||||
|
retry attempts have been exhausted.
|
||||||
|
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param count Max number of retry attempts. The `work` block will be executed once if the specified
|
||||||
|
count is less than or equal to zero.
|
||||||
|
@param work A block that executes asynchronously on the given `queue` and returns a value or an
|
||||||
|
error used to resolve the promise.
|
||||||
|
@return A new pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, or rejects with the same error after all retry attempts have been exhausted.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue
|
||||||
|
attempts:(NSInteger)count
|
||||||
|
retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, which executes asynchronously, or rejects with the same error after all retry attempts have
|
||||||
|
been exhausted. On rejection, the `work` block is retried after the given delay `interval` and will
|
||||||
|
continue to retry until the number of specified attempts have been exhausted or will bail early if
|
||||||
|
the given condition is not met.
|
||||||
|
|
||||||
|
@param count Max number of retry attempts. The `work` block will be executed once if the specified
|
||||||
|
count is less than or equal to zero.
|
||||||
|
@param interval Time to wait before the next retry attempt.
|
||||||
|
@param predicate Condition to check before the next retry attempt. The predicate block provides the
|
||||||
|
the number of remaining retry attempts and the error that the promise was rejected
|
||||||
|
with.
|
||||||
|
@param work A block that executes asynchronously on the default queue and returns a value or an
|
||||||
|
error used to resolve the promise.
|
||||||
|
@return A new pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, or rejects with the same error after all retry attempts have been exhausted or if
|
||||||
|
the given condition is not met.
|
||||||
|
*/
|
||||||
|
+ (instancetype)attempts:(NSInteger)count
|
||||||
|
delay:(NSTimeInterval)interval
|
||||||
|
condition:(nullable FBLPromiseRetryPredicateBlock)predicate
|
||||||
|
retry:(FBLPromiseRetryWorkBlock)work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, which executes asynchronously on the given `queue`, or rejects with the same error after all
|
||||||
|
retry attempts have been exhausted. On rejection, the `work` block is retried after the given
|
||||||
|
delay `interval` and will continue to retry until the number of specified attempts have been
|
||||||
|
exhausted or will bail early if the given condition is not met.
|
||||||
|
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param count Max number of retry attempts. The `work` block will be executed once if the specified
|
||||||
|
count is less than or equal to zero.
|
||||||
|
@param interval Time to wait before the next retry attempt.
|
||||||
|
@param predicate Condition to check before the next retry attempt. The predicate block provides the
|
||||||
|
the number of remaining retry attempts and the error that the promise was rejected
|
||||||
|
with.
|
||||||
|
@param work A block that executes asynchronously on the given `queue` and returns a value or an
|
||||||
|
error used to resolve the promise.
|
||||||
|
@return A new pending promise that fulfills with the same value as the promise returned from `work`
|
||||||
|
block, or rejects with the same error after all retry attempts have been exhausted or if
|
||||||
|
the given condition is not met.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue
|
||||||
|
attempts:(NSInteger)count
|
||||||
|
delay:(NSTimeInterval)interval
|
||||||
|
condition:(nullable FBLPromiseRetryPredicateBlock)predicate
|
||||||
|
retry:(FBLPromiseRetryWorkBlock)work NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise+Retry` operators.
|
||||||
|
Usage: FBLPromise.retry(^id { ... })
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_RetryAdditions)
|
||||||
|
|
||||||
|
+ (FBLPromise * (^)(FBLPromiseRetryWorkBlock))retry FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise * (^)(dispatch_queue_t, FBLPromiseRetryWorkBlock))retryOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise * (^)(NSInteger, NSTimeInterval, FBLPromiseRetryPredicateBlock __nullable,
|
||||||
|
FBLPromiseRetryWorkBlock))retryAgain FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise * (^)(dispatch_queue_t, NSInteger, NSTimeInterval,
|
||||||
|
FBLPromiseRetryPredicateBlock __nullable,
|
||||||
|
FBLPromiseRetryWorkBlock))retryAgainOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/**
|
||||||
|
Waits for all scheduled promises blocks.
|
||||||
|
|
||||||
|
@param timeout Maximum time to wait.
|
||||||
|
@return YES if all promises blocks have completed before the timeout and NO otherwise.
|
||||||
|
*/
|
||||||
|
FOUNDATION_EXTERN BOOL FBLWaitForPromisesWithTimeout(NSTimeInterval timeout) NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(TestingAdditions)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Dispatch group for promises that is typically used to wait for all scheduled blocks.
|
||||||
|
*/
|
||||||
|
@property(class, nonatomic, readonly) dispatch_group_t dispatchGroup NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Properties to get the current state of the promise.
|
||||||
|
*/
|
||||||
|
@property(nonatomic, readonly) BOOL isPending NS_REFINED_FOR_SWIFT;
|
||||||
|
@property(nonatomic, readonly) BOOL isFulfilled NS_REFINED_FOR_SWIFT;
|
||||||
|
@property(nonatomic, readonly) BOOL isRejected NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Value the promise was fulfilled with.
|
||||||
|
Can be nil if the promise is still pending, was resolved with nil or after it has been rejected.
|
||||||
|
*/
|
||||||
|
@property(nonatomic, readonly, nullable) Value value NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Error the promise was rejected with.
|
||||||
|
Can be nil if the promise is still pending or after it has been fulfilled.
|
||||||
|
*/
|
||||||
|
@property(nonatomic, readonly, nullable) NSError *error NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(ThenAdditions)
|
||||||
|
|
||||||
|
typedef id __nullable (^FBLPromiseThenWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise which eventually gets resolved with resolution returned from `work`
|
||||||
|
block: either value, error or another promise. The `work` block is executed asynchronously only
|
||||||
|
when the receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with
|
||||||
|
the same error.
|
||||||
|
|
||||||
|
@param work A block to handle the value that receiver was fulfilled with.
|
||||||
|
@return A new pending promise to be resolved with resolution returned from the `work` block.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)then:(FBLPromiseThenWorkBlock)work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise which eventually gets resolved with resolution returned from `work`
|
||||||
|
block: either value, error or another promise. The `work` block is executed asynchronously when the
|
||||||
|
receiver is fulfilled. If receiver is rejected, the returned promise is also rejected with the same
|
||||||
|
error.
|
||||||
|
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to handle the value that receiver was fulfilled with.
|
||||||
|
@return A new pending promise to be resolved with resolution returned from the `work` block.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
|
||||||
|
then:(FBLPromiseThenWorkBlock)work NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `then` operators.
|
||||||
|
Usage: promise.then(^id(id value) { ... })
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_ThenAdditions)
|
||||||
|
|
||||||
|
- (FBLPromise* (^)(FBLPromiseThenWorkBlock))then FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
- (FBLPromise* (^)(dispatch_queue_t, FBLPromiseThenWorkBlock))thenOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(TimeoutAdditions)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Waits for a promise with the specified `timeout`.
|
||||||
|
|
||||||
|
@param interval Time to wait in seconds.
|
||||||
|
@return A new pending promise that gets either resolved with same resolution as the receiver or
|
||||||
|
rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)timeout:(NSTimeInterval)interval NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Waits for a promise with the specified `timeout`.
|
||||||
|
|
||||||
|
@param queue A queue to dispatch on.
|
||||||
|
@param interval Time to wait in seconds.
|
||||||
|
@return A new pending promise that gets either resolved with same resolution as the receiver or
|
||||||
|
rejected with `FBLPromiseErrorCodeTimedOut` error code in `FBLPromiseErrorDomain`.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
|
||||||
|
timeout:(NSTimeInterval)interval NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `timeout` operators.
|
||||||
|
Usage: promise.timeout(...)
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_TimeoutAdditions)
|
||||||
|
|
||||||
|
- (FBLPromise* (^)(NSTimeInterval))timeout FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
- (FBLPromise* (^)(dispatch_queue_t, NSTimeInterval))timeoutOn FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(ValidateAdditions)
|
||||||
|
|
||||||
|
typedef BOOL (^FBLPromiseValidateWorkBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Validates a fulfilled value or rejects the value if it can not be validated.
|
||||||
|
|
||||||
|
@param predicate An expression to validate.
|
||||||
|
@return A new pending promise that gets either resolved with same resolution as the receiver or
|
||||||
|
rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)validate:(FBLPromiseValidateWorkBlock)predicate NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Validates a fulfilled value or rejects the value if it can not be validated.
|
||||||
|
|
||||||
|
@param queue A queue to dispatch on.
|
||||||
|
@param predicate An expression to validate.
|
||||||
|
@return A new pending promise that gets either resolved with same resolution as the receiver or
|
||||||
|
rejected with `FBLPromiseErrorCodeValidationFailure` error code in `FBLPromiseErrorDomain`.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)onQueue:(dispatch_queue_t)queue
|
||||||
|
validate:(FBLPromiseValidateWorkBlock)predicate NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `validate` operators.
|
||||||
|
Usage: promise.validate(^BOOL(id value) { ... })
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_ValidateAdditions)
|
||||||
|
|
||||||
|
- (FBLPromise * (^)(FBLPromiseValidateWorkBlock))validate FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
- (FBLPromise * (^)(dispatch_queue_t, FBLPromiseValidateWorkBlock))validateOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,316 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/**
|
||||||
|
Different types of completion handlers available to be wrapped with promise.
|
||||||
|
*/
|
||||||
|
typedef void (^FBLPromiseCompletion)(void) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseObjectCompletion)(id __nullable) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseErrorCompletion)(NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseObjectOrErrorCompletion)(id __nullable, NSError* __nullable)
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseErrorOrObjectCompletion)(NSError* __nullable, id __nullable)
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromise2ObjectsOrErrorCompletion)(id __nullable, id __nullable,
|
||||||
|
NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseBoolCompletion)(BOOL) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseBoolOrErrorCompletion)(BOOL, NSError* __nullable) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseIntegerCompletion)(NSInteger) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseIntegerOrErrorCompletion)(NSInteger, NSError* __nullable)
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseDoubleCompletion)(double) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseDoubleOrErrorCompletion)(double, NSError* __nullable)
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Provides an easy way to convert methods that use common callback patterns into promises.
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(WrapAdditions)
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with `nil` when completion handler is invoked.
|
||||||
|
*/
|
||||||
|
+ (instancetype)wrapCompletion:(void (^)(FBLPromiseCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with `nil` when completion handler is invoked.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapCompletion:(void (^)(FBLPromiseCompletion handler))work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an object provided by completion handler.
|
||||||
|
*/
|
||||||
|
+ (instancetype)wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an object provided by completion handler.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapObjectCompletion:(void (^)(FBLPromiseObjectCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an error provided by completion handler.
|
||||||
|
If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (instancetype)wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an error provided by completion handler.
|
||||||
|
If error is `nil`, fulfills with `nil`, otherwise rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapErrorCompletion:(void (^)(FBLPromiseErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an object provided by completion handler if error is `nil`.
|
||||||
|
Otherwise, rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (instancetype)wrapObjectOrErrorCompletion:
|
||||||
|
(void (^)(FBLPromiseObjectOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an object provided by completion handler if error is `nil`.
|
||||||
|
Otherwise, rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapObjectOrErrorCompletion:(void (^)(FBLPromiseObjectOrErrorCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an error or object provided by completion handler. If error
|
||||||
|
is not `nil`, rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (instancetype)wrapErrorOrObjectCompletion:
|
||||||
|
(void (^)(FBLPromiseErrorOrObjectCompletion handler))work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an error or object provided by completion handler. If error
|
||||||
|
is not `nil`, rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (instancetype)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapErrorOrObjectCompletion:(void (^)(FBLPromiseErrorOrObjectCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an array of objects provided by completion handler in order
|
||||||
|
if error is `nil`. Otherwise, rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSArray*>*)wrap2ObjectsOrErrorCompletion:
|
||||||
|
(void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an array of objects provided by completion handler in order
|
||||||
|
if error is `nil`. Otherwise, rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSArray*>*)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrap2ObjectsOrErrorCompletion:(void (^)(FBLPromise2ObjectsOrErrorCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping YES/NO.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping YES/NO.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapBoolCompletion:(void (^)(FBLPromiseBoolCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
|
||||||
|
Otherwise rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)wrapBoolOrErrorCompletion:
|
||||||
|
(void (^)(FBLPromiseBoolOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping YES/NO when error is `nil`.
|
||||||
|
Otherwise rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapBoolOrErrorCompletion:(void (^)(FBLPromiseBoolOrErrorCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping an integer.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping an integer.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapIntegerCompletion:(void (^)(FBLPromiseIntegerCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
|
||||||
|
Otherwise rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)wrapIntegerOrErrorCompletion:
|
||||||
|
(void (^)(FBLPromiseIntegerOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping an integer when error is `nil`.
|
||||||
|
Otherwise rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapIntegerOrErrorCompletion:(void (^)(FBLPromiseIntegerOrErrorCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping a double.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping a double.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapDoubleCompletion:(void (^)(FBLPromiseDoubleCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
|
||||||
|
Otherwise rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)wrapDoubleOrErrorCompletion:
|
||||||
|
(void (^)(FBLPromiseDoubleOrErrorCompletion handler))work NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
@param queue A queue to invoke the `work` block on.
|
||||||
|
@param work A block to perform any operations needed to resolve the promise.
|
||||||
|
@returns A promise that resolves with an `NSNumber` wrapping a double when error is `nil`.
|
||||||
|
Otherwise rejects with the error.
|
||||||
|
*/
|
||||||
|
+ (FBLPromise<NSNumber*>*)onQueue:(dispatch_queue_t)queue
|
||||||
|
wrapDoubleOrErrorCompletion:(void (^)(FBLPromiseDoubleOrErrorCompletion handler))work
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for `FBLPromise` `wrap` operators.
|
||||||
|
Usage: FBLPromise.wrapCompletion(^(FBLPromiseCompletion handler) {...})
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>(DotSyntax_WrapAdditions)
|
||||||
|
|
||||||
|
+ (FBLPromise* (^)(void (^)(FBLPromiseCompletion)))wrapCompletion FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseCompletion)))wrapCompletionOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletion
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseObjectCompletion)))wrapObjectCompletionOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletion FBL_PROMISES_DOT_SYNTAX
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(dispatch_queue_t, void (^)(FBLPromiseErrorCompletion)))wrapErrorCompletionOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletion
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(dispatch_queue_t,
|
||||||
|
void (^)(FBLPromiseObjectOrErrorCompletion)))wrapObjectOrErrorCompletionOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletion
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise* (^)(dispatch_queue_t,
|
||||||
|
void (^)(FBLPromiseErrorOrObjectCompletion)))wrapErrorOrObjectCompletionOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSArray*>* (^)(void (^)(FBLPromise2ObjectsOrErrorCompletion)))
|
||||||
|
wrap2ObjectsOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSArray*>* (^)(dispatch_queue_t, void (^)(FBLPromise2ObjectsOrErrorCompletion)))
|
||||||
|
wrap2ObjectsOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletion
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
|
||||||
|
void (^)(FBLPromiseBoolCompletion)))wrapBoolCompletionOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletion
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
|
||||||
|
void (^)(FBLPromiseBoolOrErrorCompletion)))wrapBoolOrErrorCompletionOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletion
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
|
||||||
|
void (^)(FBLPromiseIntegerCompletion)))wrapIntegerCompletionOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseIntegerOrErrorCompletion)))
|
||||||
|
wrapIntegerOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseIntegerOrErrorCompletion)))
|
||||||
|
wrapIntegerOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletion
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t,
|
||||||
|
void (^)(FBLPromiseDoubleCompletion)))wrapDoubleCompletionOn
|
||||||
|
FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(void (^)(FBLPromiseDoubleOrErrorCompletion)))
|
||||||
|
wrapDoubleOrErrorCompletion FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise<NSNumber*>* (^)(dispatch_queue_t, void (^)(FBLPromiseDoubleOrErrorCompletion)))
|
||||||
|
wrapDoubleOrErrorCompletionOn FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromiseError.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/**
|
||||||
|
Promises synchronization construct in Objective-C.
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<__covariant Value> : NSObject
|
||||||
|
|
||||||
|
/**
|
||||||
|
Default dispatch queue used for `FBLPromise`, which is `main` if a queue is not specified.
|
||||||
|
*/
|
||||||
|
@property(class) dispatch_queue_t defaultDispatchQueue NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise.
|
||||||
|
*/
|
||||||
|
+ (instancetype)pendingPromise NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a resolved promise.
|
||||||
|
|
||||||
|
@param resolution An object to resolve the promise with: either a value or an error.
|
||||||
|
@return A new resolved promise.
|
||||||
|
*/
|
||||||
|
+ (instancetype)resolvedWith:(nullable id)resolution NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Synchronously fulfills the promise with a value.
|
||||||
|
|
||||||
|
@param value An arbitrary value to fulfill the promise with, including `nil`.
|
||||||
|
*/
|
||||||
|
- (void)fulfill:(nullable Value)value NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Synchronously rejects the promise with an error.
|
||||||
|
|
||||||
|
@param error An error to reject the promise with.
|
||||||
|
*/
|
||||||
|
- (void)reject:(NSError *)error NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
+ (instancetype)new NS_UNAVAILABLE;
|
||||||
|
- (instancetype)init NS_UNAVAILABLE;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>()
|
||||||
|
|
||||||
|
/**
|
||||||
|
Adds an object to the set of pending objects to keep strongly while the promise is pending.
|
||||||
|
Used by the Swift wrappers to keep them alive until the underlying ObjC promise is resolved.
|
||||||
|
|
||||||
|
@param object An object to add.
|
||||||
|
*/
|
||||||
|
- (void)addPendingObject:(id)object NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#ifdef FBL_PROMISES_DOT_SYNTAX_IS_DEPRECATED
|
||||||
|
#define FBL_PROMISES_DOT_SYNTAX __attribute__((deprecated))
|
||||||
|
#else
|
||||||
|
#define FBL_PROMISES_DOT_SYNTAX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@interface FBLPromise<Value>(DotSyntaxAdditions)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Convenience dot-syntax wrappers for FBLPromise.
|
||||||
|
Usage: FBLPromise.pending()
|
||||||
|
FBLPromise.resolved(value)
|
||||||
|
|
||||||
|
*/
|
||||||
|
+ (FBLPromise * (^)(void))pending FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
+ (FBLPromise * (^)(id __nullable))resolved FBL_PROMISES_DOT_SYNTAX NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
FOUNDATION_EXTERN NSErrorDomain const FBLPromiseErrorDomain NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Possible error codes in `FBLPromiseErrorDomain`.
|
||||||
|
*/
|
||||||
|
typedef NS_ENUM(NSInteger, FBLPromiseErrorCode) {
|
||||||
|
/** Promise failed to resolve in time. */
|
||||||
|
FBLPromiseErrorCodeTimedOut = 1,
|
||||||
|
/** Validation predicate returned false. */
|
||||||
|
FBLPromiseErrorCodeValidationFailure = 2,
|
||||||
|
} NS_REFINED_FOR_SWIFT;
|
||||||
|
|
||||||
|
NS_INLINE BOOL FBLPromiseErrorIsTimedOut(NSError *error) NS_SWIFT_UNAVAILABLE("") {
|
||||||
|
return error.domain == FBLPromiseErrorDomain &&
|
||||||
|
error.code == FBLPromiseErrorCodeTimedOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_INLINE BOOL FBLPromiseErrorIsValidationFailure(NSError *error) NS_SWIFT_UNAVAILABLE("") {
|
||||||
|
return error.domain == FBLPromiseErrorDomain &&
|
||||||
|
error.code == FBLPromiseErrorCodeValidationFailure;
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise+All.h"
|
||||||
|
#import "FBLPromise+Always.h"
|
||||||
|
#import "FBLPromise+Any.h"
|
||||||
|
#import "FBLPromise+Async.h"
|
||||||
|
#import "FBLPromise+Await.h"
|
||||||
|
#import "FBLPromise+Catch.h"
|
||||||
|
#import "FBLPromise+Delay.h"
|
||||||
|
#import "FBLPromise+Do.h"
|
||||||
|
#import "FBLPromise+Race.h"
|
||||||
|
#import "FBLPromise+Recover.h"
|
||||||
|
#import "FBLPromise+Reduce.h"
|
||||||
|
#import "FBLPromise+Retry.h"
|
||||||
|
#import "FBLPromise+Then.h"
|
||||||
|
#import "FBLPromise+Timeout.h"
|
||||||
|
#import "FBLPromise+Validate.h"
|
||||||
|
#import "FBLPromise+Wrap.h"
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#import "FBLPromise+All.h"
|
||||||
|
#import "FBLPromise+Always.h"
|
||||||
|
#import "FBLPromise+Any.h"
|
||||||
|
#import "FBLPromise+Async.h"
|
||||||
|
#import "FBLPromise+Await.h"
|
||||||
|
#import "FBLPromise+Catch.h"
|
||||||
|
#import "FBLPromise+Delay.h"
|
||||||
|
#import "FBLPromise+Do.h"
|
||||||
|
#import "FBLPromise+Race.h"
|
||||||
|
#import "FBLPromise+Recover.h"
|
||||||
|
#import "FBLPromise+Reduce.h"
|
||||||
|
#import "FBLPromise+Retry.h"
|
||||||
|
#import "FBLPromise+Testing.h"
|
||||||
|
#import "FBLPromise+Then.h"
|
||||||
|
#import "FBLPromise+Timeout.h"
|
||||||
|
#import "FBLPromise+Validate.h"
|
||||||
|
#import "FBLPromise+Wrap.h"
|
||||||
|
#import "FBLPromise.h"
|
||||||
|
#import "FBLPromiseError.h"
|
||||||
|
#import "FBLPromises.h"
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT double FBLPromisesVersionNumber;
|
||||||
|
FOUNDATION_EXPORT const unsigned char FBLPromisesVersionString[];
|
||||||
|
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>BuildMachineOSBuild</key>
|
||||||
|
<string>23F79</string>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>FBLPromises</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>org.cocoapods.FBLPromises</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>FBLPromises</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>FMWK</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>2.4.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
|
<array>
|
||||||
|
<string>iPhoneOS</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>DTCompiler</key>
|
||||||
|
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||||
|
<key>DTPlatformBuild</key>
|
||||||
|
<string>21C52</string>
|
||||||
|
<key>DTPlatformName</key>
|
||||||
|
<string>iphoneos</string>
|
||||||
|
<key>DTPlatformVersion</key>
|
||||||
|
<string>17.2</string>
|
||||||
|
<key>DTSDKBuild</key>
|
||||||
|
<string>21C52</string>
|
||||||
|
<key>DTSDKName</key>
|
||||||
|
<string>iphoneos17.2</string>
|
||||||
|
<key>DTXcode</key>
|
||||||
|
<string>1520</string>
|
||||||
|
<key>DTXcodeBuild</key>
|
||||||
|
<string>15C500b</string>
|
||||||
|
<key>MinimumOSVersion</key>
|
||||||
|
<string>100.0</string>
|
||||||
|
<key>UIDeviceFamily</key>
|
||||||
|
<array>
|
||||||
|
<integer>1</integer>
|
||||||
|
<integer>2</integer>
|
||||||
|
</array>
|
||||||
|
<key>UIRequiredDeviceCapabilities</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
framework module PromisesObjC {
|
||||||
|
umbrella header "PromisesObjC-umbrella.h"
|
||||||
|
export *
|
||||||
|
module * { export * }
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
/**
|
||||||
|
Copyright 2018 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at:
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import "FBLPromise+Testing.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/**
|
||||||
|
Miscellaneous low-level private interfaces available to extend standard FBLPromise functionality.
|
||||||
|
*/
|
||||||
|
@interface FBLPromise<Value>()
|
||||||
|
|
||||||
|
typedef void (^FBLPromiseOnFulfillBlock)(Value __nullable value) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef void (^FBLPromiseOnRejectBlock)(NSError *error) NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef id __nullable (^__nullable FBLPromiseChainedFulfillBlock)(Value __nullable value)
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
typedef id __nullable (^__nullable FBLPromiseChainedRejectBlock)(NSError *error)
|
||||||
|
NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a pending promise.
|
||||||
|
*/
|
||||||
|
- (instancetype)initPending NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates a resolved promise.
|
||||||
|
|
||||||
|
@param resolution An object to resolve the promise with: either a value or an error.
|
||||||
|
@return A new resolved promise.
|
||||||
|
*/
|
||||||
|
- (instancetype)initWithResolution:(nullable id)resolution NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Invokes `fulfill` and `reject` blocks on `queue` when the receiver gets either fulfilled or
|
||||||
|
rejected respectively.
|
||||||
|
*/
|
||||||
|
- (void)observeOnQueue:(dispatch_queue_t)queue
|
||||||
|
fulfill:(FBLPromiseOnFulfillBlock)onFulfill
|
||||||
|
reject:(FBLPromiseOnRejectBlock)onReject NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns a new promise which gets resolved with the return value of `chainedFulfill` or
|
||||||
|
`chainedReject` blocks respectively. The blocks are invoked when the receiver gets either
|
||||||
|
fulfilled or rejected. If `nil` is passed to either block arg, the returned promise is resolved
|
||||||
|
with the same resolution as the receiver.
|
||||||
|
*/
|
||||||
|
- (FBLPromise *)chainOnQueue:(dispatch_queue_t)queue
|
||||||
|
chainedFulfill:(FBLPromiseChainedFulfillBlock)chainedFulfill
|
||||||
|
chainedReject:(FBLPromiseChainedRejectBlock)chainedReject NS_SWIFT_UNAVAILABLE("");
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5634de26eae794fc6accefc39cc18af8
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>AvailableLibraries</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework/FirebaseAnalytics</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework/FirebaseAnalytics</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>tvos-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>tvos</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework/Versions/A/FirebaseAnalytics</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>macos-arm64_x86_64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>macos</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework/Versions/A/FirebaseAnalytics</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64_x86_64-maccatalyst</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>maccatalyst</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework/FirebaseAnalytics</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework/FirebaseAnalytics</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>tvos-arm64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseAnalytics.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>tvos</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>XFWK</string>
|
||||||
|
<key>XCFrameworkFormatVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6ad5d12d740824b1fbbe4771a68a1fa3
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0af715c3b0fc64e70b7ff8d58a4a4e3a
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 236e0302a9b084d6dbe21513e1ea0eda
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 43219d2369b4d4238a891020fd8c23d5
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5180a8d85aa67428b84b1b2a53b9ac26
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c6e132cc4f7a246a1994cdbc4710a4e3
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 94c4384b7f7fb4ba7972077b2f3f1aa2
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3e14fe0409143441d8c49ab9b9a45179
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 973df62bb10d8418ba767d5d16a7814a
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 1
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,80 @@
|
|||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#import "FIRAnalytics.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/// Provides App Delegate handlers to be used in your App Delegate.
|
||||||
|
///
|
||||||
|
/// To save time integrating Firebase Analytics in an application, Firebase Analytics does not
|
||||||
|
/// require delegation implementation from the AppDelegate if neither SwiftUI nor UIScene lifecycle
|
||||||
|
/// is adopted. Instead this is automatically done by Firebase Analytics. Should you choose instead
|
||||||
|
/// to delegate manually, you can turn off the App Delegate Proxy by adding
|
||||||
|
/// FirebaseAppDelegateProxyEnabled into your app's Info.plist and setting it to boolean `NO`, and
|
||||||
|
/// adding the methods in this category to corresponding delegation handlers.
|
||||||
|
///
|
||||||
|
/// To handle Universal Links, you must return `true` in
|
||||||
|
/// `UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)`.
|
||||||
|
@interface FIRAnalytics (AppDelegate)
|
||||||
|
|
||||||
|
/// Handles events related to a URL session that are waiting to be processed.
|
||||||
|
///
|
||||||
|
/// 1. If SwiftUI lifecycle is adopted, call this method from
|
||||||
|
/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
|
||||||
|
/// in your app delegate.
|
||||||
|
///
|
||||||
|
/// 2. If SwiftUI lifecycle is not adopted, Firebase Analytics does not require delegation
|
||||||
|
/// implementation from the AppDelegate. If you choose instead to delegate manually, you can set
|
||||||
|
/// FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this method
|
||||||
|
/// from
|
||||||
|
/// `UIApplicationDelegate.application(_:handleEventsForBackgroundURLSession:completionHandler:)`
|
||||||
|
/// in your app delegate.
|
||||||
|
///
|
||||||
|
/// @param identifier The identifier of the URL session requiring attention.
|
||||||
|
/// @param completionHandler The completion handler to call when you finish processing the events.
|
||||||
|
/// Calling this completion handler lets the system know that your app's user interface is
|
||||||
|
/// updated and a new snapshot can be taken.
|
||||||
|
+ (void)handleEventsForBackgroundURLSession:(NSString *)identifier
|
||||||
|
completionHandler:(nullable void (^)(void))completionHandler;
|
||||||
|
|
||||||
|
/// Handles the event when the app is launched by a URL (custom URL scheme or universal link).
|
||||||
|
///
|
||||||
|
/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
|
||||||
|
/// this method in the handler.
|
||||||
|
///
|
||||||
|
/// 2. If UIScene lifecycle is adopted, call this method from
|
||||||
|
/// `UISceneDelegate.scene(_:willConnectTo:options:)` and
|
||||||
|
/// `UISceneDelegate.scene(_:openURLContexts:)` when the URL contexts are available.
|
||||||
|
///
|
||||||
|
/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
|
||||||
|
/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
|
||||||
|
/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
|
||||||
|
/// method from `UIApplicationDelegate.application(_:open:options:)` in your app delegate.
|
||||||
|
///
|
||||||
|
/// @param url The URL resource to open. This resource can be a network resource or a file.
|
||||||
|
+ (void)handleOpenURL:(NSURL *)url;
|
||||||
|
|
||||||
|
/// Handles the event when the app receives data associated with user activity that includes a
|
||||||
|
/// Universal Link.
|
||||||
|
///
|
||||||
|
/// 1. If SwiftUI lifecycle is adopted, use `onOpenURL(perform:)` to register a handler and call
|
||||||
|
/// `Analytics.handleOpen(_:)` instead in the handler.
|
||||||
|
///
|
||||||
|
/// 2. If UIScene lifecycle is adopted, call this method from
|
||||||
|
/// `UISceneDelegate.scene(_:willConnectTo:options:)` and `UISceneDelegate.scene(_:continue:)` when
|
||||||
|
/// NSUserActivity is available. See the [Apple
|
||||||
|
/// doc](https://developer.apple.com/documentation/xcode/supporting-universal-links-in-your-app) for
|
||||||
|
/// more details.
|
||||||
|
///
|
||||||
|
/// 3. If neither SwiftUI nor UIScene lifecycle is adopted, Firebase Analytics does not require
|
||||||
|
/// delegation implementation from the AppDelegate. If you choose instead to delegate manually, you
|
||||||
|
/// can set FirebaseAppDelegateProxyEnabled to boolean `NO` in your app's Info.plist and call this
|
||||||
|
/// method from `UIApplication.application(_:continue:restorationHandler:)` in your app delegate.
|
||||||
|
///
|
||||||
|
/// @param userActivity The activity object containing the data associated with the task the user
|
||||||
|
/// was performing.
|
||||||
|
+ (void)handleUserActivity:(id)userActivity;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#import "FIRAnalytics.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/// The type of consent to set. Supported consent types are `ConsentType.adStorage`,
|
||||||
|
/// `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and `ConsentType.adPersonalization`.
|
||||||
|
/// Omitting a type retains its previous status.
|
||||||
|
typedef NSString *FIRConsentType NS_TYPED_ENUM NS_SWIFT_NAME(ConsentType);
|
||||||
|
|
||||||
|
/// Enables storage (such as device identifiers) related to advertising.
|
||||||
|
extern FIRConsentType const FIRConsentTypeAdStorage;
|
||||||
|
|
||||||
|
/// Enables storage (such as app identifiers) related to analytics, e.g. visit duration.
|
||||||
|
extern FIRConsentType const FIRConsentTypeAnalyticsStorage;
|
||||||
|
|
||||||
|
/// Sets consent for sending user data to Google for advertising purposes.
|
||||||
|
extern FIRConsentType const FIRConsentTypeAdUserData;
|
||||||
|
|
||||||
|
/// Sets consent for personalized advertising.
|
||||||
|
extern FIRConsentType const FIRConsentTypeAdPersonalization;
|
||||||
|
|
||||||
|
/// The status value of the consent type. Supported statuses are `ConsentStatus.granted` and
|
||||||
|
/// `ConsentStatus.denied`.
|
||||||
|
typedef NSString *FIRConsentStatus NS_TYPED_ENUM NS_SWIFT_NAME(ConsentStatus);
|
||||||
|
|
||||||
|
/// Consent status indicating consent is denied. For an overview of which data is sent when consent
|
||||||
|
/// is denied, see [SDK behavior with consent
|
||||||
|
/// mode](https://developers.google.com/tag-platform/security/concepts/consent-mode#tag-behavior).
|
||||||
|
extern FIRConsentStatus const FIRConsentStatusDenied;
|
||||||
|
|
||||||
|
/// Consent status indicating consent is granted.
|
||||||
|
extern FIRConsentStatus const FIRConsentStatusGranted;
|
||||||
|
|
||||||
|
/// Sets the applicable end user consent state.
|
||||||
|
@interface FIRAnalytics (Consent)
|
||||||
|
|
||||||
|
/// Sets the applicable end user consent state (e.g. for device identifiers) for this app on this
|
||||||
|
/// device. Use the consent settings to specify individual consent type values. Settings are
|
||||||
|
/// persisted across app sessions. By default consent types are set to `ConsentStatus.granted`.
|
||||||
|
///
|
||||||
|
/// @param consentSettings A Dictionary of consent types. Supported consent type keys are
|
||||||
|
/// `ConsentType.adStorage`, `ConsentType.analyticsStorage`, `ConsentType.adUserData`, and
|
||||||
|
/// `ConsentType.adPersonalization`. Valid values are `ConsentStatus.granted` and
|
||||||
|
/// `ConsentStatus.denied`.
|
||||||
|
+ (void)setConsent:(NSDictionary<FIRConsentType, FIRConsentStatus> *)consentSettings;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#import "FIRAnalytics.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
API_UNAVAILABLE(macCatalyst, macos, tvos, watchos)
|
||||||
|
@interface FIRAnalytics (OnDevice)
|
||||||
|
|
||||||
|
/// Initiates on-device conversion measurement given a user email address. Requires dependency
|
||||||
|
/// GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
|
||||||
|
/// @param emailAddress User email address. Include a domain name for all email addresses
|
||||||
|
/// (e.g. gmail.com or hotmail.co.jp).
|
||||||
|
+ (void)initiateOnDeviceConversionMeasurementWithEmailAddress:(NSString *)emailAddress
|
||||||
|
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(emailAddress:));
|
||||||
|
|
||||||
|
/// Initiates on-device conversion measurement given a phone number in E.164 format. Requires
|
||||||
|
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
|
||||||
|
/// @param phoneNumber User phone number. Must be in E.164 format, which means it must be
|
||||||
|
/// limited to a maximum of 15 digits and must include a plus sign (+) prefix and country code
|
||||||
|
/// with no dashes, parentheses, or spaces.
|
||||||
|
+ (void)initiateOnDeviceConversionMeasurementWithPhoneNumber:(NSString *)phoneNumber
|
||||||
|
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(phoneNumber:));
|
||||||
|
|
||||||
|
/// Initiates on-device conversion measurement given a sha256-hashed user email address. Requires
|
||||||
|
/// dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a no-op.
|
||||||
|
/// @param hashedEmailAddress User email address as a UTF8-encoded string normalized and hashed
|
||||||
|
/// according to the instructions at
|
||||||
|
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
|
||||||
|
+ (void)initiateOnDeviceConversionMeasurementWithHashedEmailAddress:(NSData *)hashedEmailAddress
|
||||||
|
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedEmailAddress:));
|
||||||
|
|
||||||
|
/// Initiates on-device conversion measurement given a sha256-hashed phone number in E.164 format.
|
||||||
|
/// Requires dependency GoogleAppMeasurementOnDeviceConversion to be linked in, otherwise it is a
|
||||||
|
/// no-op.
|
||||||
|
/// @param hashedPhoneNumber UTF8-encoded user phone number in E.164 format and then hashed
|
||||||
|
/// according to the instructions at
|
||||||
|
/// https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3.
|
||||||
|
+ (void)initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:(NSData *)hashedPhoneNumber
|
||||||
|
NS_SWIFT_NAME(initiateOnDeviceConversionMeasurement(hashedPhoneNumber:));
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,155 @@
|
|||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#import "FIREventNames.h"
|
||||||
|
#import "FIRParameterNames.h"
|
||||||
|
#import "FIRUserPropertyNames.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
/// The top level Firebase Analytics singleton that provides methods for logging events and setting
|
||||||
|
/// user properties. See <a href="http://goo.gl/gz8SLz">the developer guides</a> for general
|
||||||
|
/// information on using Firebase Analytics in your apps.
|
||||||
|
///
|
||||||
|
/// @note The Analytics SDK uses SQLite to persist events and other app-specific data. Calling
|
||||||
|
/// certain thread-unsafe global SQLite methods like `sqlite3_shutdown()` can result in
|
||||||
|
/// unexpected crashes at runtime.
|
||||||
|
NS_SWIFT_NAME(Analytics)
|
||||||
|
@interface FIRAnalytics : NSObject
|
||||||
|
|
||||||
|
/// Logs an app event. The event can have up to 25 parameters. Events with the same name must have
|
||||||
|
/// the same parameters. Up to 500 event names are supported. Using predefined events and/or
|
||||||
|
/// parameters is recommended for optimal reporting.
|
||||||
|
///
|
||||||
|
/// The following event names are reserved and cannot be used:
|
||||||
|
/// <ul>
|
||||||
|
/// <li>ad_activeview</li>
|
||||||
|
/// <li>ad_click</li>
|
||||||
|
/// <li>ad_exposure</li>
|
||||||
|
/// <li>ad_query</li>
|
||||||
|
/// <li>ad_reward</li>
|
||||||
|
/// <li>adunit_exposure</li>
|
||||||
|
/// <li>app_clear_data</li>
|
||||||
|
/// <li>app_exception</li>
|
||||||
|
/// <li>app_remove</li>
|
||||||
|
/// <li>app_store_refund</li>
|
||||||
|
/// <li>app_store_subscription_cancel</li>
|
||||||
|
/// <li>app_store_subscription_convert</li>
|
||||||
|
/// <li>app_store_subscription_renew</li>
|
||||||
|
/// <li>app_update</li>
|
||||||
|
/// <li>app_upgrade</li>
|
||||||
|
/// <li>dynamic_link_app_open</li>
|
||||||
|
/// <li>dynamic_link_app_update</li>
|
||||||
|
/// <li>dynamic_link_first_open</li>
|
||||||
|
/// <li>error</li>
|
||||||
|
/// <li>firebase_campaign</li>
|
||||||
|
/// <li>first_open</li>
|
||||||
|
/// <li>first_visit</li>
|
||||||
|
/// <li>in_app_purchase</li>
|
||||||
|
/// <li>notification_dismiss</li>
|
||||||
|
/// <li>notification_foreground</li>
|
||||||
|
/// <li>notification_open</li>
|
||||||
|
/// <li>notification_receive</li>
|
||||||
|
/// <li>os_update</li>
|
||||||
|
/// <li>session_start</li>
|
||||||
|
/// <li>session_start_with_rollout</li>
|
||||||
|
/// <li>user_engagement</li>
|
||||||
|
/// </ul>
|
||||||
|
///
|
||||||
|
/// @param name The name of the event. Should contain 1 to 40 alphanumeric characters or
|
||||||
|
/// underscores. The name must start with an alphabetic character. Some event names are
|
||||||
|
/// reserved. See FIREventNames.h for the list of reserved event names. The "firebase_",
|
||||||
|
/// "google_", and "ga_" prefixes are reserved and should not be used. Note that event names are
|
||||||
|
/// case-sensitive and that logging two events whose names differ only in case will result in
|
||||||
|
/// two distinct events. To manually log screen view events, use the `screen_view` event name.
|
||||||
|
/// @param parameters The dictionary of event parameters. Passing `nil` indicates that the event has
|
||||||
|
/// no parameters. Parameter names can be up to 40 characters long and must start with an
|
||||||
|
/// alphabetic character and contain only alphanumeric characters and underscores. Only String,
|
||||||
|
/// Int, and Double parameter types are supported. String parameter values can be up to 100
|
||||||
|
/// characters long for standard Google Analytics properties, and up to 500 characters long for
|
||||||
|
/// Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are reserved
|
||||||
|
/// and should not be used for parameter names.
|
||||||
|
+ (void)logEventWithName:(NSString *)name
|
||||||
|
parameters:(nullable NSDictionary<NSString *, id> *)parameters
|
||||||
|
NS_SWIFT_NAME(logEvent(_:parameters:));
|
||||||
|
|
||||||
|
/// Sets a user property to a given value. Up to 25 user property names are supported. Once set,
|
||||||
|
/// user property values persist throughout the app lifecycle and across sessions.
|
||||||
|
///
|
||||||
|
/// The following user property names are reserved and cannot be used:
|
||||||
|
/// <ul>
|
||||||
|
/// <li>first_open_time</li>
|
||||||
|
/// <li>last_deep_link_referrer</li>
|
||||||
|
/// <li>user_id</li>
|
||||||
|
/// </ul>
|
||||||
|
///
|
||||||
|
/// @param value The value of the user property. Values can be up to 36 characters long. Setting the
|
||||||
|
/// value to `nil` removes the user property.
|
||||||
|
/// @param name The name of the user property to set. Should contain 1 to 24 alphanumeric characters
|
||||||
|
/// or underscores and must start with an alphabetic character. The "firebase_", "google_", and
|
||||||
|
/// "ga_" prefixes are reserved and should not be used for user property names.
|
||||||
|
+ (void)setUserPropertyString:(nullable NSString *)value forName:(NSString *)name
|
||||||
|
NS_SWIFT_NAME(setUserProperty(_:forName:));
|
||||||
|
|
||||||
|
/// Sets the user ID property. This feature must be used in accordance with
|
||||||
|
/// <a href="https://www.google.com/policies/privacy">Google's Privacy Policy</a>
|
||||||
|
///
|
||||||
|
/// @param userID The user ID to ascribe to the user of this app on this device, which must be
|
||||||
|
/// non-empty and no more than 256 characters long. Setting userID to `nil` removes the user ID.
|
||||||
|
+ (void)setUserID:(nullable NSString *)userID;
|
||||||
|
|
||||||
|
/// Sets whether analytics collection is enabled for this app on this device. This setting is
|
||||||
|
/// persisted across app sessions. By default it is enabled.
|
||||||
|
///
|
||||||
|
/// @param analyticsCollectionEnabled A flag that enables or disables Analytics collection.
|
||||||
|
+ (void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled;
|
||||||
|
|
||||||
|
/// Sets the interval of inactivity in seconds that terminates the current session. The default
|
||||||
|
/// value is 1800 seconds (30 minutes).
|
||||||
|
///
|
||||||
|
/// @param sessionTimeoutInterval The custom time of inactivity in seconds before the current
|
||||||
|
/// session terminates.
|
||||||
|
+ (void)setSessionTimeoutInterval:(NSTimeInterval)sessionTimeoutInterval;
|
||||||
|
|
||||||
|
/// Asynchronously retrieves the identifier of the current app session.
|
||||||
|
///
|
||||||
|
/// The session ID retrieval could fail due to Analytics collection disabled, app session expired,
|
||||||
|
/// etc.
|
||||||
|
///
|
||||||
|
/// @param completion The completion handler to call when the session ID retrieval is complete. This
|
||||||
|
/// handler is executed on a system-defined global concurrent queue.
|
||||||
|
/// This completion handler takes the following parameters:
|
||||||
|
/// <b>sessionID</b> The identifier of the current app session. The value is undefined if the
|
||||||
|
/// request failed.
|
||||||
|
/// <b>error</b> An error object that indicates why the request failed, or `nil` if the request
|
||||||
|
/// was successful.
|
||||||
|
+ (void)sessionIDWithCompletion:(void (^)(int64_t sessionID, NSError *_Nullable error))completion;
|
||||||
|
|
||||||
|
/// Returns the unique ID for this instance of the application or `nil` if
|
||||||
|
/// `ConsentType.analyticsStorage` has been set to `ConsentStatus.denied`.
|
||||||
|
///
|
||||||
|
/// @see `FIRAnalytics+Consent.h`
|
||||||
|
+ (nullable NSString *)appInstanceID;
|
||||||
|
|
||||||
|
/// Clears all analytics data for this instance from the device and resets the app instance ID.
|
||||||
|
+ (void)resetAnalyticsData;
|
||||||
|
|
||||||
|
/// Adds parameters that will be set on every event logged from the SDK, including automatic ones.
|
||||||
|
/// The values passed in the parameters dictionary will be added to the dictionary of default event
|
||||||
|
/// parameters. These parameters persist across app runs. They are of lower precedence than event
|
||||||
|
/// parameters, so if an event parameter and a parameter set using this API have the same name, the
|
||||||
|
/// value of the event parameter will be used. The same limitations on event parameters apply to
|
||||||
|
/// default event parameters.
|
||||||
|
///
|
||||||
|
/// @param parameters Parameters to be added to the dictionary of parameters added to every event.
|
||||||
|
/// They will be added to the dictionary of default event parameters, replacing any existing
|
||||||
|
/// parameter with the same name. Valid parameters are String, Int, and Double. Setting a key's
|
||||||
|
/// value to `NSNull()` will clear that parameter. Passing in a `nil` dictionary will clear all
|
||||||
|
/// parameters.
|
||||||
|
+ (void)setDefaultEventParameters:(nullable NSDictionary<NSString *, id> *)parameters;
|
||||||
|
|
||||||
|
/// Unavailable.
|
||||||
|
- (instancetype)init NS_UNAVAILABLE;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
@@ -0,0 +1,418 @@
|
|||||||
|
/// @file FIREventNames.h
|
||||||
|
///
|
||||||
|
/// Predefined event names.
|
||||||
|
///
|
||||||
|
/// An Event is an important occurrence in your app that you want to measure. You can report up to
|
||||||
|
/// 500 different types of Events per app and you can associate up to 25 unique parameters with each
|
||||||
|
/// Event type. Some common events are suggested below, but you may also choose to specify custom
|
||||||
|
/// Event types that are associated with your specific app. Each event type is identified by a
|
||||||
|
/// unique name. Event names can be up to 40 characters long, may only contain alphanumeric
|
||||||
|
/// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_",
|
||||||
|
/// "google_", and "ga_" prefixes are reserved and should not be used.
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
/// Ad Impression event. This event signifies when a user sees an ad impression. Note: If you supply
|
||||||
|
/// the @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
|
||||||
|
/// parameter so that revenue metrics can be computed accurately. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterAdPlatform (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterAdFormat (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterAdSource (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterAdUnitName (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventAdImpression NS_SWIFT_NAME(AnalyticsEventAdImpression) =
|
||||||
|
@"ad_impression";
|
||||||
|
|
||||||
|
/// Add Payment Info event. This event signifies that a user has submitted their payment
|
||||||
|
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
|
||||||
|
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
|
||||||
|
/// Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterPaymentType (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
|
||||||
|
@"add_payment_info";
|
||||||
|
|
||||||
|
/// Add Shipping Info event. This event signifies that a user has submitted their shipping
|
||||||
|
/// information. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
|
||||||
|
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
|
||||||
|
/// Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterShippingTier (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventAddShippingInfo NS_SWIFT_NAME(AnalyticsEventAddShippingInfo) =
|
||||||
|
@"add_shipping_info";
|
||||||
|
|
||||||
|
/// E-Commerce Add To Cart event. This event signifies that an item(s) was added to a cart for
|
||||||
|
/// purchase. Add this event to a funnel with @c AnalyticsEventPurchase to gauge the effectiveness
|
||||||
|
/// of your checkout process. Note: If you supply the @c AnalyticsParameterValue parameter, you must
|
||||||
|
/// also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
|
||||||
|
/// accurately. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"add_to_cart";
|
||||||
|
|
||||||
|
/// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist. Use
|
||||||
|
/// this event to identify popular gift items. Note: If you supply the @c AnalyticsParameterValue
|
||||||
|
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
|
||||||
|
/// metrics can be computed accurately. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
|
||||||
|
@"add_to_wishlist";
|
||||||
|
|
||||||
|
/// App Open event. By logging this event when an App becomes active, developers can understand how
|
||||||
|
/// often users leave and return during the course of a Session. Although Sessions are automatically
|
||||||
|
/// reported, this event can provide further clarification around the continuous engagement of
|
||||||
|
/// app-users.
|
||||||
|
static NSString *const kFIREventAppOpen NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"app_open";
|
||||||
|
|
||||||
|
/// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
|
||||||
|
/// checking out. Add this event to a funnel with your @c AnalyticsEventPurchase event to gauge the
|
||||||
|
/// effectiveness of your checkout process. Note: If you supply the @c AnalyticsParameterValue
|
||||||
|
/// parameter, you must also supply the @c AnalyticsParameterCurrency parameter so that revenue
|
||||||
|
/// metrics can be computed accurately. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
|
||||||
|
@"begin_checkout";
|
||||||
|
|
||||||
|
/// Campaign Detail event. Log this event to supply the referral details of a re-engagement
|
||||||
|
/// campaign. Note: you must supply at least one of the required parameters
|
||||||
|
/// AnalyticsParameterSource, AnalyticsParameterMedium or AnalyticsParameterCampaign. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterSource (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterMedium (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCampaign (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterTerm (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterContent (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterAdNetworkClickID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCP1 (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCampaignID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCreativeFormat (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterMarketingTactic (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterSourcePlatform (String) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
|
||||||
|
@"campaign_details";
|
||||||
|
|
||||||
|
/// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
|
||||||
|
/// this along with @c AnalyticsEventSpendVirtualCurrency to better understand your virtual economy.
|
||||||
|
/// Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventEarnVirtualCurrency
|
||||||
|
NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
|
||||||
|
|
||||||
|
/// Generate Lead event. Log this event when a lead has been generated in the app to understand the
|
||||||
|
/// efficacy of your install and re-engagement campaigns. Note: If you supply the
|
||||||
|
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
|
||||||
|
/// parameter so that revenue metrics can be computed accurately. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
|
||||||
|
@"generate_lead";
|
||||||
|
|
||||||
|
/// Join Group event. Log this event when a user joins a group such as a guild, team or family. Use
|
||||||
|
/// this event to analyze how popular certain groups or social features are in your app. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterGroupID (String)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
|
||||||
|
|
||||||
|
/// Level End event. Log this event when the user finishes a level. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterLevelName (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterSuccess (String)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";
|
||||||
|
|
||||||
|
/// Level Start event. Log this event when the user starts a new level. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterLevelName (String)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) = @"level_start";
|
||||||
|
|
||||||
|
/// Level Up event. This event signifies that a player has leveled up in your gaming app. It can
|
||||||
|
/// help you gauge the level distribution of your userbase and help you identify certain levels that
|
||||||
|
/// are difficult to pass. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterLevel (Int)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up";
|
||||||
|
|
||||||
|
/// Login event. Apps with a login feature can report this event to signify that a user has logged
|
||||||
|
/// in.
|
||||||
|
static NSString *const kFIREventLogin NS_SWIFT_NAME(AnalyticsEventLogin) = @"login";
|
||||||
|
|
||||||
|
/// Post Score event. Log this event when the user posts a score in your gaming app. This event can
|
||||||
|
/// help you understand how users are actually performing in your game and it can help you correlate
|
||||||
|
/// high scores with certain audiences or behaviors. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterScore (Int)</li>
|
||||||
|
/// <li>@c AnalyticsParameterLevel (Int) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCharacter (String) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
|
||||||
|
|
||||||
|
/// E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note:
|
||||||
|
/// This is different from the in-app purchase event, which is reported automatically for App
|
||||||
|
/// Store-based apps. Note: If you supply the @c AnalyticsParameterValue parameter, you must also
|
||||||
|
/// supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed
|
||||||
|
/// accurately. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItemID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventPurchase NS_SWIFT_NAME(AnalyticsEventPurchase) = @"purchase";
|
||||||
|
|
||||||
|
/// E-Commerce Refund event. This event signifies that a refund was issued. Note: If you supply the
|
||||||
|
/// @c AnalyticsParameterValue parameter, you must also supply the @c AnalyticsParameterCurrency
|
||||||
|
/// parameter so that revenue metrics can be computed accurately. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterAffiliation (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCoupon (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterShipping (Double) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterTax (Double) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterTransactionID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventRefund NS_SWIFT_NAME(AnalyticsEventRefund) = @"refund";
|
||||||
|
|
||||||
|
/// E-Commerce Remove from Cart event. This event signifies that an item(s) was removed from a cart.
|
||||||
|
/// Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply the @c
|
||||||
|
/// AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
|
||||||
|
@"remove_from_cart";
|
||||||
|
|
||||||
|
/// Screen View event. This event signifies a screen view. Use this when a screen transition occurs.
|
||||||
|
/// This event can be logged irrespective of whether automatic screen tracking is enabled. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterScreenClass (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterScreenName (String) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventScreenView NS_SWIFT_NAME(AnalyticsEventScreenView) = @"screen_view";
|
||||||
|
|
||||||
|
/// Search event. Apps that support search features can use this event to contextualize search
|
||||||
|
/// operations by supplying the appropriate, corresponding parameters. This event can help you
|
||||||
|
/// identify the most popular content in your app. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterSearchTerm (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterStartDate (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterEndDate (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterNumberOfNights (Int) (optional) for hotel bookings</li>
|
||||||
|
/// <li>@c AnalyticsParameterNumberOfRooms (Int) (optional) for hotel bookings</li>
|
||||||
|
/// <li>@c AnalyticsParameterNumberOfPassengers (Int) (optional) for travel bookings</li>
|
||||||
|
/// <li>@c AnalyticsParameterOrigin (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterDestination (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterTravelClass (String) (optional) for travel bookings</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"search";
|
||||||
|
|
||||||
|
/// Select Content event. This general purpose event signifies that a user has selected some content
|
||||||
|
/// of a certain type in an app. The content can be any object in your app. This event can help you
|
||||||
|
/// identify popular content and categories of content in your app. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterContentType (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItemID (String)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
|
||||||
|
@"select_content";
|
||||||
|
|
||||||
|
/// Select Item event. This event signifies that an item was selected by a user from a list. Use the
|
||||||
|
/// appropriate parameters to contextualize the event. Use this event to discover the most popular
|
||||||
|
/// items selected. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventSelectItem NS_SWIFT_NAME(AnalyticsEventSelectItem) = @"select_item";
|
||||||
|
|
||||||
|
/// Select promotion event. This event signifies that a user has selected a promotion offer. Use the
|
||||||
|
/// appropriate parameters to contextualize the event, such as the item(s) for which the promotion
|
||||||
|
/// applies. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventSelectPromotion NS_SWIFT_NAME(AnalyticsEventSelectPromotion) =
|
||||||
|
@"select_promotion";
|
||||||
|
|
||||||
|
/// Share event. Apps with social features can log the Share event to identify the most viral
|
||||||
|
/// content. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterContentType (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItemID (String)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
|
||||||
|
|
||||||
|
/// Sign Up event. This event indicates that a user has signed up for an account in your app. The
|
||||||
|
/// parameter signifies the method by which the user signed up. Use this event to understand the
|
||||||
|
/// different behaviors between logged in and logged out users. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterMethod (String)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
|
||||||
|
|
||||||
|
/// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
|
||||||
|
/// help you identify which virtual goods are the most popular objects of purchase. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterItemName (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterVirtualCurrencyName (String)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Int or Double)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventSpendVirtualCurrency
|
||||||
|
NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
|
||||||
|
|
||||||
|
/// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
|
||||||
|
/// this in a funnel with @c AnalyticsEventTutorialComplete to understand how many users complete
|
||||||
|
/// this process and move on to the full app experience.
|
||||||
|
static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
|
||||||
|
@"tutorial_begin";
|
||||||
|
|
||||||
|
/// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
|
||||||
|
/// process. Add this to a funnel with @c AnalyticsEventTutorialBegin to gauge the completion rate
|
||||||
|
/// of your on-boarding process.
|
||||||
|
static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
|
||||||
|
@"tutorial_complete";
|
||||||
|
|
||||||
|
/// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
|
||||||
|
/// game. Since achievements generally represent the breadth of a gaming experience, this event can
|
||||||
|
/// help you understand how many users are experiencing all that your game has to offer. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterAchievementID (String)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
|
||||||
|
@"unlock_achievement";
|
||||||
|
|
||||||
|
/// E-commerce View Cart event. This event signifies that a user has viewed their cart. Use this to
|
||||||
|
/// analyze your purchase funnel. Note: If you supply the @c AnalyticsParameterValue parameter, you
|
||||||
|
/// must also supply the @c AnalyticsParameterCurrency parameter so that revenue metrics can be
|
||||||
|
/// computed accurately. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventViewCart NS_SWIFT_NAME(AnalyticsEventViewCart) = @"view_cart";
|
||||||
|
|
||||||
|
/// View Item event. This event signifies that a user has viewed an item. Use the appropriate
|
||||||
|
/// parameters to contextualize the event. Use this event to discover the most popular items viewed
|
||||||
|
/// in your app. Note: If you supply the @c AnalyticsParameterValue parameter, you must also supply
|
||||||
|
/// the @c AnalyticsParameterCurrency parameter so that revenue metrics can be computed accurately.
|
||||||
|
/// Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCurrency (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterValue (Double) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
|
||||||
|
|
||||||
|
/// View Item List event. Log this event when a user sees a list of items or offerings. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItemListID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItemListName (String) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
|
||||||
|
@"view_item_list";
|
||||||
|
|
||||||
|
/// View Promotion event. This event signifies that a promotion was shown to a user. Add this event
|
||||||
|
/// to a funnel with the @c AnalyticsEventAddToCart and @c AnalyticsEventPurchase to gauge your
|
||||||
|
/// conversion process. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterCreativeName (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterCreativeSlot (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterItems ([[String: Any]]) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterLocationID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterPromotionID (String) (optional)</li>
|
||||||
|
/// <li>@c AnalyticsParameterPromotionName (String) (optional)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventViewPromotion NS_SWIFT_NAME(AnalyticsEventViewPromotion) =
|
||||||
|
@"view_promotion";
|
||||||
|
|
||||||
|
/// View Search Results event. Log this event when the user has been presented with the results of a
|
||||||
|
/// search. Params:
|
||||||
|
///
|
||||||
|
/// <ul>
|
||||||
|
/// <li>@c AnalyticsParameterSearchTerm (String)</li>
|
||||||
|
/// </ul>
|
||||||
|
static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
|
||||||
|
@"view_search_results";
|
||||||
@@ -0,0 +1,722 @@
|
|||||||
|
/// @file FIRParameterNames.h
|
||||||
|
///
|
||||||
|
/// Predefined event parameter names.
|
||||||
|
///
|
||||||
|
/// Params supply information that contextualize Events. You can associate up to 25 unique Params
|
||||||
|
/// with each Event type. Some Params are suggested below for certain common Events, but you are
|
||||||
|
/// not limited to these. You may supply extra Params for suggested Events or custom Params for
|
||||||
|
/// Custom events. Param names can be up to 40 characters long, may only contain alphanumeric
|
||||||
|
/// characters and underscores ("_"), and must start with an alphabetic character. Param values can
|
||||||
|
/// be up to 100 characters long for standard Google Analytics properties and up to 500 characters
|
||||||
|
/// long for Google Analytics 360 properties. The "firebase_", "google_", and "ga_" prefixes are
|
||||||
|
/// reserved and should not be used.
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
/// Game achievement ID (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterAchievementID : "10_matches_won",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterAchievementID NS_SWIFT_NAME(AnalyticsParameterAchievementID) =
|
||||||
|
@"achievement_id";
|
||||||
|
|
||||||
|
/// The ad format (e.g. Banner, Interstitial, Rewarded, Native, Rewarded Interstitial, Instream).
|
||||||
|
/// (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterAdFormat : "Banner",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterAdFormat NS_SWIFT_NAME(AnalyticsParameterAdFormat) =
|
||||||
|
@"ad_format";
|
||||||
|
|
||||||
|
/// Ad Network Click ID (String). Used for network-specific click IDs which vary in format.
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterAdNetworkClickID : "1234567",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterAdNetworkClickID
|
||||||
|
NS_SWIFT_NAME(AnalyticsParameterAdNetworkClickID) = @"aclid";
|
||||||
|
|
||||||
|
/// The ad platform (e.g. MoPub, IronSource) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterAdPlatform : "MoPub",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterAdPlatform NS_SWIFT_NAME(AnalyticsParameterAdPlatform) =
|
||||||
|
@"ad_platform";
|
||||||
|
|
||||||
|
/// The ad source (e.g. AdColony) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterAdSource : "AdColony",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterAdSource NS_SWIFT_NAME(AnalyticsParameterAdSource) =
|
||||||
|
@"ad_source";
|
||||||
|
|
||||||
|
/// The ad unit name (e.g. Banner_03) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterAdUnitName : "Banner_03",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterAdUnitName NS_SWIFT_NAME(AnalyticsParameterAdUnitName) =
|
||||||
|
@"ad_unit_name";
|
||||||
|
|
||||||
|
/// A product affiliation to designate a supplying company or brick and mortar store location
|
||||||
|
/// (String). <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterAffiliation : "Google Store",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterAffiliation NS_SWIFT_NAME(AnalyticsParameterAffiliation) =
|
||||||
|
@"affiliation";
|
||||||
|
|
||||||
|
/// Campaign custom parameter (String). Used as a method of capturing custom data in a campaign.
|
||||||
|
/// Use varies by network.
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterCP1 : "custom_data",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterCP1 NS_SWIFT_NAME(AnalyticsParameterCP1) = @"cp1";
|
||||||
|
|
||||||
|
/// The individual campaign name, slogan, promo code, etc. Some networks have pre-defined macro to
|
||||||
|
/// capture campaign information, otherwise can be populated by developer. Highly Recommended
|
||||||
|
/// (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterCampaign : "winter_promotion",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterCampaign NS_SWIFT_NAME(AnalyticsParameterCampaign) =
|
||||||
|
@"campaign";
|
||||||
|
|
||||||
|
/// Campaign ID (String). Used for keyword analysis to identify a specific product promotion or
|
||||||
|
/// strategic campaign. This is a required key for GA4 data import.
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterCampaignID : "7877652710",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterCampaignID NS_SWIFT_NAME(AnalyticsParameterCampaignID) =
|
||||||
|
@"campaign_id";
|
||||||
|
|
||||||
|
/// Character used in game (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterCharacter : "beat_boss",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterCharacter NS_SWIFT_NAME(AnalyticsParameterCharacter) =
|
||||||
|
@"character";
|
||||||
|
|
||||||
|
/// Campaign content (String).
|
||||||
|
static NSString *const kFIRParameterContent NS_SWIFT_NAME(AnalyticsParameterContent) = @"content";
|
||||||
|
|
||||||
|
/// Type of content selected (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterContentType : "news article",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterContentType NS_SWIFT_NAME(AnalyticsParameterContentType) =
|
||||||
|
@"content_type";
|
||||||
|
|
||||||
|
/// Coupon code used for a purchase (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterCoupon : "SUMMER_FUN",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterCoupon NS_SWIFT_NAME(AnalyticsParameterCoupon) = @"coupon";
|
||||||
|
|
||||||
|
/// Creative Format (String). Used to identify the high-level classification of the type of ad
|
||||||
|
/// served by a specific campaign.
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterCreativeFormat : "display",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterCreativeFormat NS_SWIFT_NAME(AnalyticsParameterCreativeFormat) =
|
||||||
|
@"creative_format";
|
||||||
|
|
||||||
|
/// The name of a creative used in a promotional spot (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterCreativeName : "Summer Sale",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterCreativeName NS_SWIFT_NAME(AnalyticsParameterCreativeName) =
|
||||||
|
@"creative_name";
|
||||||
|
|
||||||
|
/// The name of a creative slot (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterCreativeSlot : "summer_banner2",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterCreativeSlot NS_SWIFT_NAME(AnalyticsParameterCreativeSlot) =
|
||||||
|
@"creative_slot";
|
||||||
|
|
||||||
|
/// Currency of the purchase or items associated with the event, in 3-letter
|
||||||
|
/// <a href="http://en.wikipedia.org/wiki/ISO_4217#Active_codes"> ISO_4217</a> format (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterCurrency : "USD",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterCurrency NS_SWIFT_NAME(AnalyticsParameterCurrency) =
|
||||||
|
@"currency";
|
||||||
|
|
||||||
|
/// Flight or Travel destination (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterDestination : "Mountain View, CA",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterDestination NS_SWIFT_NAME(AnalyticsParameterDestination) =
|
||||||
|
@"destination";
|
||||||
|
|
||||||
|
/// Monetary value of discount associated with a purchase (Double).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterDiscount : 2.0,
|
||||||
|
/// AnalyticsParameterCurrency : "USD", // e.g. $2.00 USD
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterDiscount NS_SWIFT_NAME(AnalyticsParameterDiscount) =
|
||||||
|
@"discount";
|
||||||
|
|
||||||
|
/// The arrival date, check-out date or rental end date for the item. This should be in
|
||||||
|
/// YYYY-MM-DD format (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterEndDate : "2015-09-14",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterEndDate NS_SWIFT_NAME(AnalyticsParameterEndDate) = @"end_date";
|
||||||
|
|
||||||
|
/// Indicates that the associated event should either extend the current session or start a new
|
||||||
|
/// session if no session was active when the event was logged. Specify 1 to extend the current
|
||||||
|
/// session or to start a new session; any other value will not extend or start a session.
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterExtendSession : 1,
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterExtendSession NS_SWIFT_NAME(AnalyticsParameterExtendSession) =
|
||||||
|
@"extend_session";
|
||||||
|
|
||||||
|
/// Flight number for travel events (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterFlightNumber : "ZZ800",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterFlightNumber NS_SWIFT_NAME(AnalyticsParameterFlightNumber) =
|
||||||
|
@"flight_number";
|
||||||
|
|
||||||
|
/// Group/clan/guild ID (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterGroupID : "g1",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterGroupID NS_SWIFT_NAME(AnalyticsParameterGroupID) = @"group_id";
|
||||||
|
|
||||||
|
/// The index of the item in a list (Int).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterIndex : 5,
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterIndex NS_SWIFT_NAME(AnalyticsParameterIndex) = @"index";
|
||||||
|
|
||||||
|
/// Item brand (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemBrand : "Google",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemBrand NS_SWIFT_NAME(AnalyticsParameterItemBrand) =
|
||||||
|
@"item_brand";
|
||||||
|
|
||||||
|
/// Item category (context-specific) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemCategory : "pants",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemCategory NS_SWIFT_NAME(AnalyticsParameterItemCategory) =
|
||||||
|
@"item_category";
|
||||||
|
|
||||||
|
/// Item Category (context-specific) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemCategory2 : "pants",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemCategory2 NS_SWIFT_NAME(AnalyticsParameterItemCategory2) =
|
||||||
|
@"item_category2";
|
||||||
|
|
||||||
|
/// Item Category (context-specific) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemCategory3 : "pants",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemCategory3 NS_SWIFT_NAME(AnalyticsParameterItemCategory3) =
|
||||||
|
@"item_category3";
|
||||||
|
|
||||||
|
/// Item Category (context-specific) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemCategory4 : "pants",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemCategory4 NS_SWIFT_NAME(AnalyticsParameterItemCategory4) =
|
||||||
|
@"item_category4";
|
||||||
|
|
||||||
|
/// Item Category (context-specific) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemCategory5 : "pants",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemCategory5 NS_SWIFT_NAME(AnalyticsParameterItemCategory5) =
|
||||||
|
@"item_category5";
|
||||||
|
|
||||||
|
/// Item ID (context-specific) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemID : "SKU_12345",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemID NS_SWIFT_NAME(AnalyticsParameterItemID) = @"item_id";
|
||||||
|
|
||||||
|
/// The ID of the list in which the item was presented to the user (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemListID : "ABC123",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemListID NS_SWIFT_NAME(AnalyticsParameterItemListID) =
|
||||||
|
@"item_list_id";
|
||||||
|
|
||||||
|
/// The name of the list in which the item was presented to the user (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemListName : "Related products",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemListName NS_SWIFT_NAME(AnalyticsParameterItemListName) =
|
||||||
|
@"item_list_name";
|
||||||
|
|
||||||
|
/// Item Name (context-specific) (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemName : "jeggings",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemName NS_SWIFT_NAME(AnalyticsParameterItemName) =
|
||||||
|
@"item_name";
|
||||||
|
|
||||||
|
/// Item variant (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItemVariant : "Black",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItemVariant NS_SWIFT_NAME(AnalyticsParameterItemVariant) =
|
||||||
|
@"item_variant";
|
||||||
|
|
||||||
|
/// The list of items involved in the transaction expressed as `[[String: Any]]`.
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterItems : [
|
||||||
|
/// [AnalyticsParameterItemName : "jeggings", AnalyticsParameterItemCategory : "pants"],
|
||||||
|
/// [AnalyticsParameterItemName : "boots", AnalyticsParameterItemCategory : "shoes"],
|
||||||
|
/// ],
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterItems NS_SWIFT_NAME(AnalyticsParameterItems) = @"items";
|
||||||
|
|
||||||
|
/// Level in game (Int).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterLevel : 42,
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterLevel NS_SWIFT_NAME(AnalyticsParameterLevel) = @"level";
|
||||||
|
|
||||||
|
/// The name of a level in a game (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterLevelName : "room_1",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterLevelName NS_SWIFT_NAME(AnalyticsParameterLevelName) =
|
||||||
|
@"level_name";
|
||||||
|
|
||||||
|
/// Location (String). The Google <a href="https://developers.google.com/places/place-id">Place ID
|
||||||
|
/// </a> that corresponds to the associated event. Alternatively, you can supply your own custom
|
||||||
|
/// Location ID.
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterLocation : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterLocation NS_SWIFT_NAME(AnalyticsParameterLocation) =
|
||||||
|
@"location";
|
||||||
|
|
||||||
|
/// The location associated with the event. Preferred to be the Google
|
||||||
|
/// <a href="https://developers.google.com/places/place-id">Place ID</a> that corresponds to the
|
||||||
|
/// associated item but could be overridden to a custom location ID string.(String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterLocationID : "ChIJiyj437sx3YAR9kUWC8QkLzQ",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterLocationID NS_SWIFT_NAME(AnalyticsParameterLocationID) =
|
||||||
|
@"location_id";
|
||||||
|
|
||||||
|
/// Marketing Tactic (String). Used to identify the targeting criteria applied to a specific
|
||||||
|
/// campaign.
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterMarketingTactic : "Remarketing",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterMarketingTactic
|
||||||
|
NS_SWIFT_NAME(AnalyticsParameterMarketingTactic) = @"marketing_tactic";
|
||||||
|
|
||||||
|
/// The advertising or marketing medium, for example: cpc, banner, email, push. Highly recommended
|
||||||
|
/// (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterMedium : "email",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterMedium NS_SWIFT_NAME(AnalyticsParameterMedium) = @"medium";
|
||||||
|
|
||||||
|
/// A particular approach used in an operation; for example, "facebook" or "email" in the context
|
||||||
|
/// of a sign_up or login event. (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterMethod : "google",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterMethod NS_SWIFT_NAME(AnalyticsParameterMethod) = @"method";
|
||||||
|
|
||||||
|
/// Number of nights staying at hotel (Int).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterNumberOfNights : 3,
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterNumberOfNights
|
||||||
|
NS_SWIFT_NAME(AnalyticsParameterNumberOfNights) = @"number_of_nights";
|
||||||
|
|
||||||
|
/// Number of passengers traveling (Int).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterNumberOfPassengers : 11,
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterNumberOfPassengers
|
||||||
|
NS_SWIFT_NAME(AnalyticsParameterNumberOfPassengers) = @"number_of_passengers";
|
||||||
|
|
||||||
|
/// Number of rooms for travel events (Int).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterNumberOfRooms : 2,
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterNumberOfRooms NS_SWIFT_NAME(AnalyticsParameterNumberOfRooms) =
|
||||||
|
@"number_of_rooms";
|
||||||
|
|
||||||
|
/// Flight or Travel origin (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterOrigin : "Mountain View, CA",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterOrigin NS_SWIFT_NAME(AnalyticsParameterOrigin) = @"origin";
|
||||||
|
|
||||||
|
/// The chosen method of payment (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterPaymentType : "Visa",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterPaymentType NS_SWIFT_NAME(AnalyticsParameterPaymentType) =
|
||||||
|
@"payment_type";
|
||||||
|
|
||||||
|
/// Purchase price (Double).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterPrice : 1.0,
|
||||||
|
/// AnalyticsParameterCurrency : "USD", // e.g. $1.00 USD
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterPrice NS_SWIFT_NAME(AnalyticsParameterPrice) = @"price";
|
||||||
|
|
||||||
|
/// The ID of a product promotion (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterPromotionID : "ABC123",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterPromotionID NS_SWIFT_NAME(AnalyticsParameterPromotionID) =
|
||||||
|
@"promotion_id";
|
||||||
|
|
||||||
|
/// The name of a product promotion (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterPromotionName : "Summer Sale",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterPromotionName NS_SWIFT_NAME(AnalyticsParameterPromotionName) =
|
||||||
|
@"promotion_name";
|
||||||
|
|
||||||
|
/// Purchase quantity (Int).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterQuantity : 1,
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterQuantity NS_SWIFT_NAME(AnalyticsParameterQuantity) =
|
||||||
|
@"quantity";
|
||||||
|
|
||||||
|
/// Score in game (Int).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterScore : 4200,
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterScore NS_SWIFT_NAME(AnalyticsParameterScore) = @"score";
|
||||||
|
|
||||||
|
/// Current screen class, such as the class name of the UIViewController, logged with screen_view
|
||||||
|
/// event and added to every event (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterScreenClass : "LoginViewController",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterScreenClass NS_SWIFT_NAME(AnalyticsParameterScreenClass) =
|
||||||
|
@"screen_class";
|
||||||
|
|
||||||
|
/// Current screen name, such as the name of the UIViewController, logged with screen_view event and
|
||||||
|
/// added to every event (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterScreenName : "LoginView",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterScreenName NS_SWIFT_NAME(AnalyticsParameterScreenName) =
|
||||||
|
@"screen_name";
|
||||||
|
|
||||||
|
/// The search string/keywords used (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterSearchTerm : "periodic table",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterSearchTerm NS_SWIFT_NAME(AnalyticsParameterSearchTerm) =
|
||||||
|
@"search_term";
|
||||||
|
|
||||||
|
/// Shipping cost associated with a transaction (Double).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterShipping : 5.99,
|
||||||
|
/// AnalyticsParameterCurrency : "USD", // e.g. $5.99 USD
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterShipping NS_SWIFT_NAME(AnalyticsParameterShipping) =
|
||||||
|
@"shipping";
|
||||||
|
|
||||||
|
/// The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
|
||||||
|
/// (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterShippingTier : "Ground",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterShippingTier NS_SWIFT_NAME(AnalyticsParameterShippingTier) =
|
||||||
|
@"shipping_tier";
|
||||||
|
|
||||||
|
/// The origin of your traffic, such as an Ad network (for example, google) or partner (urban
|
||||||
|
/// airship). Identify the advertiser, site, publication, etc. that is sending traffic to your
|
||||||
|
/// property. Highly recommended (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterSource : "InMobi",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterSource NS_SWIFT_NAME(AnalyticsParameterSource) = @"source";
|
||||||
|
|
||||||
|
/// Source Platform (String). Used to identify the platform responsible for directing traffic to a
|
||||||
|
/// given Analytics property (e.g., a buying platform where budgets, targeting criteria, etc. are
|
||||||
|
/// set, a platform for managing organic traffic data, etc.).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterSourcePlatform : "sa360",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterSourcePlatform NS_SWIFT_NAME(AnalyticsParameterSourcePlatform) =
|
||||||
|
@"source_platform";
|
||||||
|
|
||||||
|
/// The departure date, check-in date or rental start date for the item. This should be in
|
||||||
|
/// YYYY-MM-DD format (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterStartDate : "2015-09-14",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterStartDate NS_SWIFT_NAME(AnalyticsParameterStartDate) =
|
||||||
|
@"start_date";
|
||||||
|
|
||||||
|
/// The result of an operation. Specify 1 to indicate success and 0 to indicate failure (Int).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterSuccess : 1,
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterSuccess NS_SWIFT_NAME(AnalyticsParameterSuccess) = @"success";
|
||||||
|
|
||||||
|
/// Tax cost associated with a transaction (Double).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterTax : 2.43,
|
||||||
|
/// AnalyticsParameterCurrency : "USD", // e.g. $2.43 USD
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterTax NS_SWIFT_NAME(AnalyticsParameterTax) = @"tax";
|
||||||
|
|
||||||
|
/// If you're manually tagging keyword campaigns, you should use utm_term to specify the keyword
|
||||||
|
/// (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterTerm : "game",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterTerm NS_SWIFT_NAME(AnalyticsParameterTerm) = @"term";
|
||||||
|
|
||||||
|
/// The unique identifier of a transaction (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterTransactionID : "T12345",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterTransactionID NS_SWIFT_NAME(AnalyticsParameterTransactionID) =
|
||||||
|
@"transaction_id";
|
||||||
|
|
||||||
|
/// Travel class (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterTravelClass : "business",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterTravelClass NS_SWIFT_NAME(AnalyticsParameterTravelClass) =
|
||||||
|
@"travel_class";
|
||||||
|
|
||||||
|
/// A context-specific numeric value which is accumulated automatically for each event type. This is
|
||||||
|
/// a general purpose parameter that is useful for accumulating a key metric that pertains to an
|
||||||
|
/// event. Examples include revenue, distance, time and points. Value should be specified as Int or
|
||||||
|
/// Double.
|
||||||
|
/// Notes: Values for pre-defined currency-related events (such as @c AnalyticsEventAddToCart)
|
||||||
|
/// should be supplied using Double and must be accompanied by a @c AnalyticsParameterCurrency
|
||||||
|
/// parameter. The valid range of accumulated values is
|
||||||
|
/// [-9,223,372,036,854.77, 9,223,372,036,854.77]. Supplying a non-numeric value, omitting the
|
||||||
|
/// corresponding @c AnalyticsParameterCurrency parameter, or supplying an invalid
|
||||||
|
/// <a href="https://goo.gl/qqX3J2">currency code</a> for conversion events will cause that
|
||||||
|
/// conversion to be omitted from reporting.
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterValue : 3.99,
|
||||||
|
/// AnalyticsParameterCurrency : "USD", // e.g. $3.99 USD
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterValue NS_SWIFT_NAME(AnalyticsParameterValue) = @"value";
|
||||||
|
|
||||||
|
/// Name of virtual currency type (String).
|
||||||
|
/// <pre>
|
||||||
|
/// let params = [
|
||||||
|
/// AnalyticsParameterVirtualCurrencyName : "virtual_currency_name",
|
||||||
|
/// // ...
|
||||||
|
/// ]
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRParameterVirtualCurrencyName
|
||||||
|
NS_SWIFT_NAME(AnalyticsParameterVirtualCurrencyName) = @"virtual_currency_name";
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
/// @file FIRUserPropertyNames.h
|
||||||
|
///
|
||||||
|
/// Predefined user property names.
|
||||||
|
///
|
||||||
|
/// A UserProperty is an attribute that describes the app-user. By supplying UserProperties, you can
|
||||||
|
/// later analyze different behaviors of various segments of your userbase. You may supply up to 25
|
||||||
|
/// unique UserProperties per app, and you can use the name and value of your choosing for each one.
|
||||||
|
/// UserProperty names can be up to 24 characters long, may only contain alphanumeric characters and
|
||||||
|
/// underscores ("_"), and must start with an alphabetic character. UserProperty values can be up to
|
||||||
|
/// 36 characters long. The "firebase_", "google_", and "ga_" prefixes are reserved and should not
|
||||||
|
/// be used.
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
/// Indicates whether events logged by Google Analytics can be used to personalize ads for the user.
|
||||||
|
/// Set to "YES" to enable, or "NO" to disable. Default is enabled. See the
|
||||||
|
/// <a href="https://firebase.google.com/support/guides/disable-analytics">documentation</a> for
|
||||||
|
/// more details and information about related settings.
|
||||||
|
///
|
||||||
|
/// <pre>
|
||||||
|
/// Analytics.setUserProperty("NO", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
|
||||||
|
/// </pre>
|
||||||
|
static NSString *const kFIRUserPropertyAllowAdPersonalizationSignals
|
||||||
|
NS_SWIFT_NAME(AnalyticsUserPropertyAllowAdPersonalizationSignals) = @"allow_personalized_ads";
|
||||||
|
|
||||||
|
/// The method used to sign in. For example, "google", "facebook" or "twitter".
|
||||||
|
static NSString *const kFIRUserPropertySignUpMethod
|
||||||
|
NS_SWIFT_NAME(AnalyticsUserPropertySignUpMethod) = @"sign_up_method";
|
||||||
@@ -0,0 +1,312 @@
|
|||||||
|
#if 0
|
||||||
|
#elif defined(__arm64__) && __arm64__
|
||||||
|
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
|
||||||
|
#ifndef FIREBASEANALYTICS_SWIFT_H
|
||||||
|
#define FIREBASEANALYTICS_SWIFT_H
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wgcc-compat"
|
||||||
|
|
||||||
|
#if !defined(__has_include)
|
||||||
|
# define __has_include(x) 0
|
||||||
|
#endif
|
||||||
|
#if !defined(__has_attribute)
|
||||||
|
# define __has_attribute(x) 0
|
||||||
|
#endif
|
||||||
|
#if !defined(__has_feature)
|
||||||
|
# define __has_feature(x) 0
|
||||||
|
#endif
|
||||||
|
#if !defined(__has_warning)
|
||||||
|
# define __has_warning(x) 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __has_include(<swift/objc-prologue.h>)
|
||||||
|
# include <swift/objc-prologue.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#pragma clang diagnostic ignored "-Wauto-import"
|
||||||
|
#if defined(__OBJC__)
|
||||||
|
#include <Foundation/Foundation.h>
|
||||||
|
#endif
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#include <cstdint>
|
||||||
|
#include <cstddef>
|
||||||
|
#include <cstdbool>
|
||||||
|
#include <cstring>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <new>
|
||||||
|
#include <type_traits>
|
||||||
|
#else
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <string.h>
|
||||||
|
#endif
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
|
||||||
|
# include <ptrauth.h>
|
||||||
|
#else
|
||||||
|
#pragma clang diagnostic push
|
||||||
|
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
|
||||||
|
# ifndef __ptrauth_swift_value_witness_function_pointer
|
||||||
|
# define __ptrauth_swift_value_witness_function_pointer(x)
|
||||||
|
# endif
|
||||||
|
# ifndef __ptrauth_swift_class_method_pointer
|
||||||
|
# define __ptrauth_swift_class_method_pointer(x)
|
||||||
|
# endif
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(SWIFT_TYPEDEFS)
|
||||||
|
# define SWIFT_TYPEDEFS 1
|
||||||
|
# if __has_include(<uchar.h>)
|
||||||
|
# include <uchar.h>
|
||||||
|
# elif !defined(__cplusplus)
|
||||||
|
typedef uint_least16_t char16_t;
|
||||||
|
typedef uint_least32_t char32_t;
|
||||||
|
# endif
|
||||||
|
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
|
||||||
|
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
|
||||||
|
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
|
||||||
|
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
|
||||||
|
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
|
||||||
|
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
|
||||||
|
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
|
||||||
|
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
|
||||||
|
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
|
||||||
|
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
|
||||||
|
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
|
||||||
|
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(SWIFT_PASTE)
|
||||||
|
# define SWIFT_PASTE_HELPER(x, y) x##y
|
||||||
|
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_METATYPE)
|
||||||
|
# define SWIFT_METATYPE(X) Class
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_CLASS_PROPERTY)
|
||||||
|
# if __has_feature(objc_class_property)
|
||||||
|
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
|
||||||
|
# else
|
||||||
|
# define SWIFT_CLASS_PROPERTY(...)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_RUNTIME_NAME)
|
||||||
|
# if __has_attribute(objc_runtime_name)
|
||||||
|
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
|
||||||
|
# else
|
||||||
|
# define SWIFT_RUNTIME_NAME(X)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_COMPILE_NAME)
|
||||||
|
# if __has_attribute(swift_name)
|
||||||
|
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
|
||||||
|
# else
|
||||||
|
# define SWIFT_COMPILE_NAME(X)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_METHOD_FAMILY)
|
||||||
|
# if __has_attribute(objc_method_family)
|
||||||
|
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
|
||||||
|
# else
|
||||||
|
# define SWIFT_METHOD_FAMILY(X)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_NOESCAPE)
|
||||||
|
# if __has_attribute(noescape)
|
||||||
|
# define SWIFT_NOESCAPE __attribute__((noescape))
|
||||||
|
# else
|
||||||
|
# define SWIFT_NOESCAPE
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_RELEASES_ARGUMENT)
|
||||||
|
# if __has_attribute(ns_consumed)
|
||||||
|
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
|
||||||
|
# else
|
||||||
|
# define SWIFT_RELEASES_ARGUMENT
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_WARN_UNUSED_RESULT)
|
||||||
|
# if __has_attribute(warn_unused_result)
|
||||||
|
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
|
||||||
|
# else
|
||||||
|
# define SWIFT_WARN_UNUSED_RESULT
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_NORETURN)
|
||||||
|
# if __has_attribute(noreturn)
|
||||||
|
# define SWIFT_NORETURN __attribute__((noreturn))
|
||||||
|
# else
|
||||||
|
# define SWIFT_NORETURN
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_CLASS_EXTRA)
|
||||||
|
# define SWIFT_CLASS_EXTRA
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_PROTOCOL_EXTRA)
|
||||||
|
# define SWIFT_PROTOCOL_EXTRA
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_ENUM_EXTRA)
|
||||||
|
# define SWIFT_ENUM_EXTRA
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_CLASS)
|
||||||
|
# if __has_attribute(objc_subclassing_restricted)
|
||||||
|
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
|
||||||
|
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
|
||||||
|
# else
|
||||||
|
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
|
||||||
|
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_RESILIENT_CLASS)
|
||||||
|
# if __has_attribute(objc_class_stub)
|
||||||
|
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
|
||||||
|
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
|
||||||
|
# else
|
||||||
|
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
|
||||||
|
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_PROTOCOL)
|
||||||
|
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
|
||||||
|
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_EXTENSION)
|
||||||
|
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
|
||||||
|
#endif
|
||||||
|
#if !defined(OBJC_DESIGNATED_INITIALIZER)
|
||||||
|
# if __has_attribute(objc_designated_initializer)
|
||||||
|
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
|
||||||
|
# else
|
||||||
|
# define OBJC_DESIGNATED_INITIALIZER
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_ENUM_ATTR)
|
||||||
|
# if __has_attribute(enum_extensibility)
|
||||||
|
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
|
||||||
|
# else
|
||||||
|
# define SWIFT_ENUM_ATTR(_extensibility)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_ENUM)
|
||||||
|
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
|
||||||
|
# if __has_feature(generalized_swift_name)
|
||||||
|
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
|
||||||
|
# else
|
||||||
|
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_UNAVAILABLE)
|
||||||
|
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_UNAVAILABLE_MSG)
|
||||||
|
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_AVAILABILITY)
|
||||||
|
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_WEAK_IMPORT)
|
||||||
|
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_DEPRECATED)
|
||||||
|
# define SWIFT_DEPRECATED __attribute__((deprecated))
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_DEPRECATED_MSG)
|
||||||
|
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_DEPRECATED_OBJC)
|
||||||
|
# if __has_feature(attribute_diagnose_if_objc)
|
||||||
|
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
|
||||||
|
# else
|
||||||
|
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if defined(__OBJC__)
|
||||||
|
#if !defined(IBSegueAction)
|
||||||
|
# define IBSegueAction
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_EXTERN)
|
||||||
|
# if defined(__cplusplus)
|
||||||
|
# define SWIFT_EXTERN extern "C"
|
||||||
|
# else
|
||||||
|
# define SWIFT_EXTERN extern
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_CALL)
|
||||||
|
# define SWIFT_CALL __attribute__((swiftcall))
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_INDIRECT_RESULT)
|
||||||
|
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_CONTEXT)
|
||||||
|
# define SWIFT_CONTEXT __attribute__((swift_context))
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_ERROR_RESULT)
|
||||||
|
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
|
||||||
|
#endif
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
# define SWIFT_NOEXCEPT noexcept
|
||||||
|
#else
|
||||||
|
# define SWIFT_NOEXCEPT
|
||||||
|
#endif
|
||||||
|
#if !defined(SWIFT_C_INLINE_THUNK)
|
||||||
|
# if __has_attribute(always_inline)
|
||||||
|
# if __has_attribute(nodebug)
|
||||||
|
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
|
||||||
|
# else
|
||||||
|
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define SWIFT_C_INLINE_THUNK inline
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if defined(_WIN32)
|
||||||
|
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
|
||||||
|
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
|
||||||
|
# define SWIFT_IMPORT_STDLIB_SYMBOL
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#if defined(__OBJC__)
|
||||||
|
#if __has_feature(objc_modules)
|
||||||
|
#if __has_warning("-Watimport-in-framework-header")
|
||||||
|
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
|
||||||
|
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
|
||||||
|
#if __has_warning("-Wpragma-clang-attribute")
|
||||||
|
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
|
||||||
|
#endif
|
||||||
|
#pragma clang diagnostic ignored "-Wunknown-pragmas"
|
||||||
|
#pragma clang diagnostic ignored "-Wnullability"
|
||||||
|
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
|
||||||
|
|
||||||
|
#if __has_attribute(external_source_symbol)
|
||||||
|
# pragma push_macro("any")
|
||||||
|
# undef any
|
||||||
|
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FirebaseAnalytics",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
|
||||||
|
# pragma pop_macro("any")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__OBJC__)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __has_attribute(external_source_symbol)
|
||||||
|
# pragma clang attribute pop
|
||||||
|
#endif
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#endif
|
||||||
|
#pragma clang diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error unsupported Swift architecture
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
#ifdef __OBJC__
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#else
|
||||||
|
#ifndef FOUNDATION_EXPORT
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
#define FOUNDATION_EXPORT extern "C"
|
||||||
|
#else
|
||||||
|
#define FOUNDATION_EXPORT extern
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#import "FIRAnalytics+AppDelegate.h"
|
||||||
|
#import "FIRAnalytics+Consent.h"
|
||||||
|
#import "FIRAnalytics+OnDevice.h"
|
||||||
|
#import "FIRAnalytics.h"
|
||||||
|
#import "FirebaseAnalytics.h"
|
||||||
|
#import "FIREventNames.h"
|
||||||
|
#import "FIRParameterNames.h"
|
||||||
|
#import "FIRUserPropertyNames.h"
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT double FirebaseAnalyticsVersionNumber;
|
||||||
|
FOUNDATION_EXPORT const unsigned char FirebaseAnalyticsVersionString[];
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#import "FIRAnalytics+AppDelegate.h"
|
||||||
|
#import "FIRAnalytics+Consent.h"
|
||||||
|
#import "FIRAnalytics+OnDevice.h"
|
||||||
|
#import "FIRAnalytics.h"
|
||||||
|
#import "FIREventNames.h"
|
||||||
|
#import "FIRParameterNames.h"
|
||||||
|
#import "FIRUserPropertyNames.h"
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>BuildMachineOSBuild</key>
|
||||||
|
<string>23F79</string>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>FirebaseAnalytics</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>org.cocoapods.FirebaseAnalytics</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>FirebaseAnalytics</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>FMWK</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>10.28.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
|
<array>
|
||||||
|
<string>iPhoneOS</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>DTCompiler</key>
|
||||||
|
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||||
|
<key>DTPlatformBuild</key>
|
||||||
|
<string>21C52</string>
|
||||||
|
<key>DTPlatformName</key>
|
||||||
|
<string>iphoneos</string>
|
||||||
|
<key>DTPlatformVersion</key>
|
||||||
|
<string>17.2</string>
|
||||||
|
<key>DTSDKBuild</key>
|
||||||
|
<string>21C52</string>
|
||||||
|
<key>DTSDKName</key>
|
||||||
|
<string>iphoneos17.2</string>
|
||||||
|
<key>DTXcode</key>
|
||||||
|
<string>1520</string>
|
||||||
|
<key>DTXcodeBuild</key>
|
||||||
|
<string>15C500b</string>
|
||||||
|
<key>MinimumOSVersion</key>
|
||||||
|
<string>100.0</string>
|
||||||
|
<key>UIDeviceFamily</key>
|
||||||
|
<array>
|
||||||
|
<integer>1</integer>
|
||||||
|
<integer>2</integer>
|
||||||
|
</array>
|
||||||
|
<key>UIRequiredDeviceCapabilities</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
Binary file not shown.
@@ -0,0 +1,239 @@
|
|||||||
|
{
|
||||||
|
"ABIRoot": {
|
||||||
|
"kind": "Root",
|
||||||
|
"name": "TopLevel",
|
||||||
|
"printedName": "TopLevel",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"kind": "Import",
|
||||||
|
"name": "StoreKit",
|
||||||
|
"printedName": "StoreKit",
|
||||||
|
"declKind": "Import",
|
||||||
|
"moduleName": "FirebaseAnalytics"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "Import",
|
||||||
|
"name": "SwiftUI",
|
||||||
|
"printedName": "SwiftUI",
|
||||||
|
"declKind": "Import",
|
||||||
|
"moduleName": "FirebaseAnalytics"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TypeDecl",
|
||||||
|
"name": "Analytics",
|
||||||
|
"printedName": "Analytics",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"kind": "Function",
|
||||||
|
"name": "logTransaction",
|
||||||
|
"printedName": "logTransaction(_:)",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "Void",
|
||||||
|
"printedName": "()"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "Transaction",
|
||||||
|
"printedName": "StoreKit.Transaction",
|
||||||
|
"usr": "s:8StoreKit11TransactionV"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"declKind": "Func",
|
||||||
|
"usr": "s:So12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
|
||||||
|
"mangledName": "$sSo12FIRAnalyticsC17FirebaseAnalyticsE14logTransactionyy8StoreKit0E0VFZ",
|
||||||
|
"moduleName": "FirebaseAnalytics",
|
||||||
|
"static": true,
|
||||||
|
"declAttributes": [
|
||||||
|
"Final",
|
||||||
|
"AccessControl",
|
||||||
|
"RawDocComment"
|
||||||
|
],
|
||||||
|
"isFromExtension": true,
|
||||||
|
"funcSelfKind": "NonMutating"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"declKind": "Class",
|
||||||
|
"usr": "c:objc(cs)FIRAnalytics",
|
||||||
|
"moduleName": "FirebaseAnalytics",
|
||||||
|
"isOpen": true,
|
||||||
|
"objc_name": "FIRAnalytics",
|
||||||
|
"declAttributes": [
|
||||||
|
"ObjC",
|
||||||
|
"Dynamic"
|
||||||
|
],
|
||||||
|
"superclassUsr": "c:objc(cs)NSObject",
|
||||||
|
"isExternal": true,
|
||||||
|
"inheritsConvenienceInitializers": true,
|
||||||
|
"superclassNames": [
|
||||||
|
"ObjectiveC.NSObject"
|
||||||
|
],
|
||||||
|
"conformances": [
|
||||||
|
{
|
||||||
|
"kind": "Conformance",
|
||||||
|
"name": "Equatable",
|
||||||
|
"printedName": "Equatable",
|
||||||
|
"usr": "s:SQ",
|
||||||
|
"mangledName": "$sSQ"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "Conformance",
|
||||||
|
"name": "Hashable",
|
||||||
|
"printedName": "Hashable",
|
||||||
|
"usr": "s:SH",
|
||||||
|
"mangledName": "$sSH"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "Conformance",
|
||||||
|
"name": "CVarArg",
|
||||||
|
"printedName": "CVarArg",
|
||||||
|
"usr": "s:s7CVarArgP",
|
||||||
|
"mangledName": "$ss7CVarArgP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "Conformance",
|
||||||
|
"name": "_KeyValueCodingAndObservingPublishing",
|
||||||
|
"printedName": "_KeyValueCodingAndObservingPublishing",
|
||||||
|
"usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP",
|
||||||
|
"mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "Conformance",
|
||||||
|
"name": "_KeyValueCodingAndObserving",
|
||||||
|
"printedName": "_KeyValueCodingAndObserving",
|
||||||
|
"usr": "s:10Foundation27_KeyValueCodingAndObservingP",
|
||||||
|
"mangledName": "$s10Foundation27_KeyValueCodingAndObservingP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "Conformance",
|
||||||
|
"name": "CustomStringConvertible",
|
||||||
|
"printedName": "CustomStringConvertible",
|
||||||
|
"usr": "s:s23CustomStringConvertibleP",
|
||||||
|
"mangledName": "$ss23CustomStringConvertibleP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "Conformance",
|
||||||
|
"name": "CustomDebugStringConvertible",
|
||||||
|
"printedName": "CustomDebugStringConvertible",
|
||||||
|
"usr": "s:s28CustomDebugStringConvertibleP",
|
||||||
|
"mangledName": "$ss28CustomDebugStringConvertibleP"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TypeDecl",
|
||||||
|
"name": "View",
|
||||||
|
"printedName": "View",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"kind": "Function",
|
||||||
|
"name": "analyticsScreen",
|
||||||
|
"printedName": "analyticsScreen(name:class:extraParameters:)",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "ModifiedContent",
|
||||||
|
"printedName": "SwiftUI.ModifiedContent<τ_0_0, FirebaseAnalytics.LoggedAnalyticsModifier>",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "GenericTypeParam",
|
||||||
|
"printedName": "τ_0_0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "LoggedAnalyticsModifier",
|
||||||
|
"printedName": "FirebaseAnalytics.LoggedAnalyticsModifier",
|
||||||
|
"usr": "s:17FirebaseAnalytics06LoggedB8ModifierV"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"usr": "s:7SwiftUI15ModifiedContentV"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "String",
|
||||||
|
"printedName": "Swift.String",
|
||||||
|
"usr": "s:SS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "String",
|
||||||
|
"printedName": "Swift.String",
|
||||||
|
"hasDefaultArg": true,
|
||||||
|
"usr": "s:SS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "Dictionary",
|
||||||
|
"printedName": "[Swift.String : Any]",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "String",
|
||||||
|
"printedName": "Swift.String",
|
||||||
|
"usr": "s:SS"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TypeNominal",
|
||||||
|
"name": "ProtocolComposition",
|
||||||
|
"printedName": "Any"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hasDefaultArg": true,
|
||||||
|
"usr": "s:SD"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"declKind": "Func",
|
||||||
|
"usr": "s:7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
|
||||||
|
"mangledName": "$s7SwiftUI4ViewP17FirebaseAnalyticsE15analyticsScreen4name5class15extraParametersQrSS_SSSDySSypGtF",
|
||||||
|
"moduleName": "FirebaseAnalytics",
|
||||||
|
"genericSig": "<τ_0_0 where τ_0_0 : SwiftUI.View>",
|
||||||
|
"sugared_genericSig": "<Self where Self : SwiftUI.View>",
|
||||||
|
"declAttributes": [
|
||||||
|
"AccessControl",
|
||||||
|
"RawDocComment"
|
||||||
|
],
|
||||||
|
"isFromExtension": true,
|
||||||
|
"funcSelfKind": "NonMutating"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"declKind": "Protocol",
|
||||||
|
"usr": "s:7SwiftUI4ViewP",
|
||||||
|
"mangledName": "$s7SwiftUI4ViewP",
|
||||||
|
"moduleName": "SwiftUI",
|
||||||
|
"genericSig": "<τ_0_0.Body : SwiftUI.View>",
|
||||||
|
"sugared_genericSig": "<Self.Body : SwiftUI.View>",
|
||||||
|
"intro_Macosx": "10.15",
|
||||||
|
"intro_iOS": "13.0",
|
||||||
|
"intro_tvOS": "13.0",
|
||||||
|
"intro_watchOS": "6.0",
|
||||||
|
"declAttributes": [
|
||||||
|
"TypeEraser",
|
||||||
|
"Available",
|
||||||
|
"Available",
|
||||||
|
"Available",
|
||||||
|
"Available"
|
||||||
|
],
|
||||||
|
"isExternal": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"json_format_version": 8
|
||||||
|
},
|
||||||
|
"ConstValues": [
|
||||||
|
{
|
||||||
|
"filePath": "\/Volumes\/google\/src\/cloud\/pdchen\/firebaserelease\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
|
||||||
|
"kind": "StringLiteral",
|
||||||
|
"offset": 2654,
|
||||||
|
"length": 6,
|
||||||
|
"value": "\"View\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filePath": "\/Volumes\/google\/src\/cloud\/pdchen\/firebaserelease\/google3\/googlemac\/iPhone\/Firebase\/Analytics\/Sources\/Swift\/Analytics+SwiftUI.swift",
|
||||||
|
"kind": "Dictionary",
|
||||||
|
"offset": 2701,
|
||||||
|
"length": 3,
|
||||||
|
"value": "[]"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
// swift-interface-format-version: 1.0
|
||||||
|
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
|
||||||
|
// swift-module-flags: -target arm64-apple-ios10.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
|
||||||
|
// swift-module-flags-ignorable: -enable-bare-slash-regex
|
||||||
|
@_exported import FirebaseAnalytics
|
||||||
|
import StoreKit
|
||||||
|
import Swift
|
||||||
|
import SwiftUI
|
||||||
|
import _Concurrency
|
||||||
|
import _StringProcessing
|
||||||
|
import _SwiftConcurrencyShims
|
||||||
|
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
|
||||||
|
@available(watchOS, unavailable)
|
||||||
|
extension FirebaseAnalytics.Analytics {
|
||||||
|
public static func logTransaction(_ transaction: StoreKit.Transaction)
|
||||||
|
}
|
||||||
|
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
|
||||||
|
@available(watchOS, unavailable)
|
||||||
|
extension SwiftUI.View {
|
||||||
|
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
|
||||||
|
|
||||||
|
}
|
||||||
Binary file not shown.
@@ -0,0 +1,22 @@
|
|||||||
|
// swift-interface-format-version: 1.0
|
||||||
|
// swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
|
||||||
|
// swift-module-flags: -target arm64-apple-ios10.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FirebaseAnalytics
|
||||||
|
// swift-module-flags-ignorable: -enable-bare-slash-regex
|
||||||
|
@_exported import FirebaseAnalytics
|
||||||
|
import StoreKit
|
||||||
|
import Swift
|
||||||
|
import SwiftUI
|
||||||
|
import _Concurrency
|
||||||
|
import _StringProcessing
|
||||||
|
import _SwiftConcurrencyShims
|
||||||
|
@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, *)
|
||||||
|
@available(watchOS, unavailable)
|
||||||
|
extension FirebaseAnalytics.Analytics {
|
||||||
|
public static func logTransaction(_ transaction: StoreKit.Transaction)
|
||||||
|
}
|
||||||
|
@available(iOS 13.0, macOS 10.15, macCatalyst 13.0, tvOS 13.0, *)
|
||||||
|
@available(watchOS, unavailable)
|
||||||
|
extension SwiftUI.View {
|
||||||
|
public func analyticsScreen(name: Swift.String, class: Swift.String = "View", extraParameters: [Swift.String : Any] = [:]) -> some SwiftUI.View
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
framework module FirebaseAnalytics {
|
||||||
|
umbrella header "FirebaseAnalytics-umbrella.h"
|
||||||
|
export *
|
||||||
|
module * { export * }
|
||||||
|
link framework "Foundation"
|
||||||
|
link framework "Security"
|
||||||
|
link framework "SystemConfiguration"
|
||||||
|
link framework "UIKit"
|
||||||
|
link "c++"
|
||||||
|
link "sqlite3"
|
||||||
|
link "z"
|
||||||
|
}
|
||||||
|
module FirebaseAnalytics.Swift {
|
||||||
|
header "FirebaseAnalytics-Swift.h"
|
||||||
|
requires objc
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ad2873a54690a4a01845113431000cbd
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,139 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>AvailableLibraries</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseCore.framework/Versions/A/FirebaseCore</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>macos-arm64_x86_64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseCore.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>macos</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseCore.framework/Versions/A/FirebaseCore</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64_x86_64-maccatalyst</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseCore.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>maccatalyst</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseCore.framework/FirebaseCore</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>tvos-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseCore.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>tvos</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseCore.framework/FirebaseCore</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseCore.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseCore.framework/FirebaseCore</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>watchos-arm64_arm64_32</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseCore.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>arm64_32</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>watchos</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseCore.framework/FirebaseCore</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>ios-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseCore.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>ios</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseCore.framework/FirebaseCore</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>tvos-arm64</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseCore.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>tvos</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>BinaryPath</key>
|
||||||
|
<string>FirebaseCore.framework/FirebaseCore</string>
|
||||||
|
<key>LibraryIdentifier</key>
|
||||||
|
<string>watchos-arm64_x86_64-simulator</string>
|
||||||
|
<key>LibraryPath</key>
|
||||||
|
<string>FirebaseCore.framework</string>
|
||||||
|
<key>SupportedArchitectures</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
<string>x86_64</string>
|
||||||
|
</array>
|
||||||
|
<key>SupportedPlatform</key>
|
||||||
|
<string>watchos</string>
|
||||||
|
<key>SupportedPlatformVariant</key>
|
||||||
|
<string>simulator</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>XFWK</string>
|
||||||
|
<key>XCFrameworkFormatVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2cd11acc8216549d1b030fd8af51ce76
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 463fda9c2bbcb437e8edc6de1e905ac7
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6a6e108db3ec94acc89bda15df35fd46
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 65860bc18cc964272bfd39535f6638bb
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c1ae43f0988df46a1892bd126ee8fa91
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 00d35e8773f28443b957c5ed23a0bb73
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 349ef58be026c4c94a6c1c9b35cbe920
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 731869cc5315f4e01a810cb421762fae
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 76962348058494768ba6380847573d66
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 1
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>NSPrivacyTracking</key>
|
||||||
|
<false/>
|
||||||
|
<key>NSPrivacyTrackingDomains</key>
|
||||||
|
<array>
|
||||||
|
</array>
|
||||||
|
<key>NSPrivacyCollectedDataTypes</key>
|
||||||
|
<array>
|
||||||
|
</array>
|
||||||
|
<key>NSPrivacyAccessedAPITypes</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>NSPrivacyAccessedAPIType</key>
|
||||||
|
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
||||||
|
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||||
|
<array>
|
||||||
|
<string>CA92.1</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user