mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-15 13:35:19 +00:00
Add recaptcha
This commit is contained in:
parent
4d1cfa678f
commit
2da0f6fcc4
@ -745,7 +745,7 @@ private final class NotificationServiceHandler {
|
||||
Logger.shared.logToConsole = loggingSettings.logToConsole
|
||||
Logger.shared.redactSensitiveData = loggingSettings.redactSensitiveData
|
||||
|
||||
let networkArguments = NetworkInitializationArguments(apiId: apiId, apiHash: apiHash, languagesCategory: languagesCategory, appVersion: appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(buildConfig.bundleData(withAppToken: nil, tokenType: nil, tokenEnvironment: nil, signatureDict: nil)), externalRequestVerificationStream: .never(), autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: false)
|
||||
let networkArguments = NetworkInitializationArguments(apiId: apiId, apiHash: apiHash, languagesCategory: languagesCategory, appVersion: appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(buildConfig.bundleData(withAppToken: nil, tokenType: nil, tokenEnvironment: nil, signatureDict: nil)), externalRequestVerificationStream: .never(), externalRecaptchaRequestVerification: { _, _ in return .never() }, autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: false)
|
||||
|
||||
let isLockedMessage: String?
|
||||
if let data = try? Data(contentsOf: URL(fileURLWithPath: appLockStatePath(rootPath: rootPath))), let state = try? JSONDecoder().decode(LockState.self, from: data), isAppLocked(state: state) {
|
||||
|
@ -174,7 +174,7 @@ class DefaultIntentHandler: INExtension, INSendMessageIntentHandling, INSearchFo
|
||||
if let accountCache = accountCache {
|
||||
account = .single(accountCache)
|
||||
} else {
|
||||
account = currentAccount(allocateIfNotExists: false, networkArguments: NetworkInitializationArguments(apiId: apiId, apiHash: apiHash, languagesCategory: languagesCategory, appVersion: appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(buildConfig.bundleData(withAppToken: nil, tokenType: nil, tokenEnvironment: nil, signatureDict: nil)), externalRequestVerificationStream: .never(), autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: false), supplementary: true, manager: accountManager, rootPath: rootPath, auxiliaryMethods: accountAuxiliaryMethods, encryptionParameters: encryptionParameters)
|
||||
account = currentAccount(allocateIfNotExists: false, networkArguments: NetworkInitializationArguments(apiId: apiId, apiHash: apiHash, languagesCategory: languagesCategory, appVersion: appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(buildConfig.bundleData(withAppToken: nil, tokenType: nil, tokenEnvironment: nil, signatureDict: nil)), externalRequestVerificationStream: .never(), externalRecaptchaRequestVerification: { _, _ in return .never() }, autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: false), supplementary: true, manager: accountManager, rootPath: rootPath, auxiliaryMethods: accountAuxiliaryMethods, encryptionParameters: encryptionParameters)
|
||||
|> mapToSignal { account -> Signal<Account?, NoError> in
|
||||
if let account = account {
|
||||
switch account {
|
||||
|
@ -100,7 +100,9 @@
|
||||
|
||||
- (void)setDiscoverBackupAddressListSignal:(MTSignal * _Nonnull)signal;
|
||||
- (void)setExternalRequestVerification:(MTSignal * _Nonnull (^ _Nonnull)(NSString * _Nonnull))externalRequestVerification;
|
||||
- (void)setExternalRecaptchaRequestVerification:(MTSignal * _Nonnull (^ _Nonnull)(NSString * _Nonnull, NSString * _Nonnull))externalRecaptchaRequestVerification;
|
||||
- (MTSignal * _Nullable)performExternalRequestVerificationWithNonce:(NSString * _Nonnull)nonce;
|
||||
- (MTSignal * _Nullable)performExternalRecaptchaRequestVerificationWithMethod:(NSString * _Nonnull)method siteKey:(NSString * _Nonnull)siteKey;
|
||||
|
||||
- (NSTimeInterval)globalTime;
|
||||
- (NSTimeInterval)globalTimeDifference;
|
||||
|
@ -13,6 +13,17 @@
|
||||
|
||||
@end
|
||||
|
||||
@interface MTRequestPendingRecaptchaVerificationData : NSObject
|
||||
|
||||
@property (nonatomic, strong, readonly) NSString *siteKey;
|
||||
@property (nonatomic, strong) NSString *token;
|
||||
@property (nonatomic) bool isResolved;
|
||||
@property (nonatomic, strong) id<MTDisposable> disposable;
|
||||
|
||||
- (instancetype)initWithSiteKey:(NSString *)siteKey;
|
||||
|
||||
@end
|
||||
|
||||
@interface MTRequestErrorContext : NSObject
|
||||
|
||||
@property (nonatomic) CFAbsoluteTime minimalExecuteTime;
|
||||
@ -25,5 +36,6 @@
|
||||
@property (nonatomic, strong) id waitingForRequestToComplete;
|
||||
|
||||
@property (nonatomic, strong) MTRequestPendingVerificationData *pendingVerificationData;
|
||||
@property (nonatomic, strong) MTRequestPendingRecaptchaVerificationData *pendingRecaptchaVerificationData;
|
||||
|
||||
@end
|
||||
|
@ -182,6 +182,7 @@ static MTDatacenterAuthInfoMapKeyStruct parseAuthInfoMapKeyInteger(NSNumber *key
|
||||
|
||||
MTSignal *_discoverBackupAddressListSignal;
|
||||
MTSignal * _Nonnull (^ _Nullable _externalRequestVerification)(NSString * _Nonnull);
|
||||
MTSignal * _Nonnull (^ _Nullable _externalRecaptchaRequestVerification)(NSString * _Nonnull, NSString * _Nonnull);
|
||||
|
||||
NSMutableDictionary *_discoverDatacenterAddressActions;
|
||||
NSMutableDictionary<NSNumber *, MTDatacenterAuthAction *> *_datacenterAuthActions;
|
||||
@ -533,6 +534,12 @@ static void copyKeychainDictionaryKey(NSString * _Nonnull group, NSString * _Non
|
||||
} synchronous:true];
|
||||
}
|
||||
|
||||
- (void)setExternalRecaptchaRequestVerification:(MTSignal * _Nonnull (^ _Nonnull)(NSString * _Nonnull, NSString * _Nonnull))externalRecaptchaRequestVerification {
|
||||
[[MTContext contextQueue] dispatchOnQueue:^ {
|
||||
_externalRecaptchaRequestVerification = externalRecaptchaRequestVerification;
|
||||
} synchronous:true];
|
||||
}
|
||||
|
||||
- (MTSignal * _Nullable)performExternalRequestVerificationWithNonce:(NSString * _Nonnull)nonce {
|
||||
__block MTSignal * _Nonnull (^ _Nullable externalRequestVerification)(NSString * _Nonnull);
|
||||
[[MTContext contextQueue] dispatchOnQueue:^ {
|
||||
@ -546,6 +553,19 @@ static void copyKeychainDictionaryKey(NSString * _Nonnull group, NSString * _Non
|
||||
}
|
||||
}
|
||||
|
||||
- (MTSignal * _Nullable)performExternalRecaptchaRequestVerificationWithMethod:(NSString * _Nonnull)method siteKey:(NSString * _Nonnull)siteKey {
|
||||
__block MTSignal * _Nonnull (^ _Nullable externalRecaptchaRequestVerification)(NSString * _Nonnull, NSString * _Nonnull);
|
||||
[[MTContext contextQueue] dispatchOnQueue:^ {
|
||||
externalRecaptchaRequestVerification = _externalRecaptchaRequestVerification;
|
||||
} synchronous:true];
|
||||
|
||||
if (externalRecaptchaRequestVerification != nil) {
|
||||
return externalRecaptchaRequestVerification(method, siteKey);
|
||||
} else {
|
||||
return [MTSignal single:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSTimeInterval)globalTime
|
||||
{
|
||||
return [[NSDate date] timeIntervalSince1970] + [self globalTimeDifference];
|
||||
|
@ -12,6 +12,18 @@
|
||||
|
||||
@end
|
||||
|
||||
@implementation MTRequestPendingRecaptchaVerificationData
|
||||
|
||||
- (instancetype)initWithSiteKey:(NSString *)siteKey {
|
||||
self = [super init];
|
||||
if (self != nil) {
|
||||
_siteKey = siteKey;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation MTRequestErrorContext
|
||||
|
||||
@end
|
||||
|
@ -45,6 +45,24 @@
|
||||
|
||||
@end
|
||||
|
||||
@interface MTRequestRecaptchaVerificationData : NSObject
|
||||
|
||||
@property (nonatomic, strong, readonly) NSString *token;
|
||||
|
||||
@end
|
||||
|
||||
@implementation MTRequestRecaptchaVerificationData
|
||||
|
||||
- (instancetype)initWithToken:(NSString *)token {
|
||||
self = [super init];
|
||||
if (self != nil) {
|
||||
_token = token;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@interface MTRequestMessageService ()
|
||||
{
|
||||
MTContext *_context;
|
||||
@ -402,7 +420,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- (NSData *)decorateRequestData:(MTRequest *)request initializeApi:(bool)initializeApi requestVerificationData:(MTRequestVerificationData *)requestVerificationData unresolvedDependencyOnRequestInternalId:(__autoreleasing id *)unresolvedDependencyOnRequestInternalId decoratedDebugDescription:(__autoreleasing NSString **)decoratedDebugDescription
|
||||
- (NSData *)decorateRequestData:(MTRequest *)request initializeApi:(bool)initializeApi requestVerificationData:(MTRequestVerificationData *)requestVerificationData recaptchaVerificationData:(MTRequestRecaptchaVerificationData *)recaptchaVerificationData unresolvedDependencyOnRequestInternalId:(__autoreleasing id *)unresolvedDependencyOnRequestInternalId decoratedDebugDescription:(__autoreleasing NSString **)decoratedDebugDescription
|
||||
{
|
||||
NSData *currentData = request.payload;
|
||||
|
||||
@ -514,6 +532,18 @@
|
||||
debugDescription = [debugDescription stringByAppendingFormat:@", apnsSecret(%@, %@)", requestVerificationData.nonce, requestVerificationData.secret];
|
||||
}
|
||||
|
||||
if (recaptchaVerificationData != nil) {
|
||||
MTBuffer *buffer = [[MTBuffer alloc] init];
|
||||
|
||||
[buffer appendInt32:(int32_t)0xadbb0f94];
|
||||
[buffer appendTLString:recaptchaVerificationData.token];
|
||||
|
||||
[buffer appendBytes:currentData.bytes length:currentData.length];
|
||||
currentData = buffer.data;
|
||||
|
||||
debugDescription = [debugDescription stringByAppendingFormat:@", recaptcha(%@)", recaptchaVerificationData.token];
|
||||
}
|
||||
|
||||
if (decoratedDebugDescription != nil) {
|
||||
*decoratedDebugDescription = debugDescription;
|
||||
}
|
||||
@ -548,6 +578,11 @@
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (request.errorContext.pendingRecaptchaVerificationData != nil) {
|
||||
if (!request.errorContext.pendingRecaptchaVerificationData.isResolved) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
bool foundDependency = false;
|
||||
for (MTRequest *anotherRequest in _requests) {
|
||||
@ -588,7 +623,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
NSData *decoratedRequestData = [self decorateRequestData:request initializeApi:requestsWillInitializeApi requestVerificationData:requestVerificationData unresolvedDependencyOnRequestInternalId:&autoreleasingUnresolvedDependencyOnRequestInternalId decoratedDebugDescription:&decoratedDebugDescription];
|
||||
MTRequestRecaptchaVerificationData *recaptchaVerificationData = nil;
|
||||
if (request.errorContext != nil) {
|
||||
if (request.errorContext.pendingRecaptchaVerificationData != nil) {
|
||||
if (request.errorContext.pendingRecaptchaVerificationData.isResolved) {
|
||||
recaptchaVerificationData = [[MTRequestRecaptchaVerificationData alloc] initWithToken:request.errorContext.pendingRecaptchaVerificationData.token];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NSData *decoratedRequestData = [self decorateRequestData:request initializeApi:requestsWillInitializeApi requestVerificationData:requestVerificationData recaptchaVerificationData:recaptchaVerificationData unresolvedDependencyOnRequestInternalId:&autoreleasingUnresolvedDependencyOnRequestInternalId decoratedDebugDescription:&decoratedDebugDescription];
|
||||
|
||||
MTOutgoingMessage *outgoingMessage = [[MTOutgoingMessage alloc] initWithData:decoratedRequestData metadata:request.metadata additionalDebugDescription:decoratedDebugDescription shortMetadata:request.shortMetadata messageId:messageId messageSeqNo:messageSeqNo];
|
||||
outgoingMessage.needsQuickAck = request.acknowledgementReceived != nil;
|
||||
@ -950,6 +994,45 @@
|
||||
}];
|
||||
|
||||
restartRequest = true;
|
||||
} else if (rpcError.errorCode == 403 && [rpcError.errorDescription rangeOfString:@"RECAPTCHA_CHECK_"].location != NSNotFound) {
|
||||
NSString *checkData = [rpcError.errorDescription substringFromIndex:[@"RECAPTCHA_CHECK_" length]];
|
||||
|
||||
NSRange separatorRange = [checkData rangeOfString:@"__"];
|
||||
NSString *method = nil;
|
||||
NSString *siteKey = nil;
|
||||
if (separatorRange.location != NSNotFound) {
|
||||
method = [checkData substringToIndex:separatorRange.location];
|
||||
siteKey = [checkData substringFromIndex:separatorRange.location + separatorRange.length];
|
||||
}
|
||||
|
||||
if (method != nil && siteKey != nil) {
|
||||
if (request.errorContext == nil) {
|
||||
request.errorContext = [[MTRequestErrorContext alloc] init];
|
||||
}
|
||||
|
||||
request.errorContext.pendingRecaptchaVerificationData = [[MTRequestPendingRecaptchaVerificationData alloc] initWithSiteKey:siteKey];
|
||||
|
||||
__weak MTRequestMessageService *weakSelf = self;
|
||||
MTQueue *queue = _queue;
|
||||
id requestId = request.internalId;
|
||||
request.errorContext.pendingRecaptchaVerificationData.disposable = [[_context performExternalRecaptchaRequestVerificationWithMethod:method siteKey:siteKey] startWithNext:^(id result) {
|
||||
[queue dispatchOnQueue:^{
|
||||
__strong MTRequestMessageService *strongSelf = weakSelf;
|
||||
if (!strongSelf) {
|
||||
return;
|
||||
}
|
||||
for (MTRequest *request in strongSelf->_requests) {
|
||||
if (request.internalId == requestId) {
|
||||
request.errorContext.pendingRecaptchaVerificationData.token = result;
|
||||
request.errorContext.pendingRecaptchaVerificationData.isResolved = true;
|
||||
}
|
||||
}
|
||||
[strongSelf->_mtProto requestTransportTransaction];
|
||||
}];
|
||||
}];
|
||||
|
||||
restartRequest = true;
|
||||
}
|
||||
} else if (rpcError.errorCode == 406) {
|
||||
if (_didReceiveSoftAuthResetError) {
|
||||
_didReceiveSoftAuthResetError();
|
||||
|
@ -435,13 +435,14 @@ public struct NetworkInitializationArguments {
|
||||
public let voipVersions: [CallSessionManagerImplementationVersion]
|
||||
public let appData: Signal<Data?, NoError>
|
||||
public let externalRequestVerificationStream: Signal<[String: String], NoError>
|
||||
public let externalRecaptchaRequestVerification: (String, String) -> Signal<String?, NoError>
|
||||
public let autolockDeadine: Signal<Int32?, NoError>
|
||||
public let encryptionProvider: EncryptionProvider
|
||||
public let deviceModelName:String?
|
||||
public let useBetaFeatures: Bool
|
||||
public let isICloudEnabled: Bool
|
||||
|
||||
public init(apiId: Int32, apiHash: String, languagesCategory: String, appVersion: String, voipMaxLayer: Int32, voipVersions: [CallSessionManagerImplementationVersion], appData: Signal<Data?, NoError>, externalRequestVerificationStream: Signal<[String: String], NoError>, autolockDeadine: Signal<Int32?, NoError>, encryptionProvider: EncryptionProvider, deviceModelName: String?, useBetaFeatures: Bool, isICloudEnabled: Bool) {
|
||||
public init(apiId: Int32, apiHash: String, languagesCategory: String, appVersion: String, voipMaxLayer: Int32, voipVersions: [CallSessionManagerImplementationVersion], appData: Signal<Data?, NoError>, externalRequestVerificationStream: Signal<[String: String], NoError>, externalRecaptchaRequestVerification: @escaping (String, String) -> Signal<String?, NoError>, autolockDeadine: Signal<Int32?, NoError>, encryptionProvider: EncryptionProvider, deviceModelName: String?, useBetaFeatures: Bool, isICloudEnabled: Bool) {
|
||||
self.apiId = apiId
|
||||
self.apiHash = apiHash
|
||||
self.languagesCategory = languagesCategory
|
||||
@ -450,6 +451,7 @@ public struct NetworkInitializationArguments {
|
||||
self.voipVersions = voipVersions
|
||||
self.appData = appData
|
||||
self.externalRequestVerificationStream = externalRequestVerificationStream
|
||||
self.externalRecaptchaRequestVerification = externalRecaptchaRequestVerification
|
||||
self.autolockDeadine = autolockDeadine
|
||||
self.encryptionProvider = encryptionProvider
|
||||
self.deviceModelName = deviceModelName
|
||||
@ -589,6 +591,22 @@ func initializedNetwork(accountId: AccountRecordId, arguments: NetworkInitializa
|
||||
subscriber?.putCompletion()
|
||||
})
|
||||
|
||||
return MTBlockDisposable(block: {
|
||||
disposable.dispose()
|
||||
})
|
||||
})
|
||||
})
|
||||
let externalRecaptchaRequestVerification = arguments.externalRecaptchaRequestVerification
|
||||
context.setExternalRecaptchaRequestVerification({ method, siteKey in
|
||||
return MTSignal(generator: { subscriber in
|
||||
let disposable = (externalRecaptchaRequestVerification(method, siteKey)
|
||||
|> filter { $0 != nil }
|
||||
|> take(1)
|
||||
|> timeout(15.0, queue: .mainQueue(), alternate: .single("RECAPTCHA_TIMEOUT"))).start(next: { token in
|
||||
subscriber?.putNext(token)
|
||||
subscriber?.putCompletion()
|
||||
})
|
||||
|
||||
return MTBlockDisposable(block: {
|
||||
disposable.dispose()
|
||||
})
|
||||
|
@ -210,7 +210,7 @@ public class BoxedMessage: NSObject {
|
||||
|
||||
public class Serialization: NSObject, MTSerialization {
|
||||
public func currentLayer() -> UInt {
|
||||
return 198
|
||||
return 199
|
||||
}
|
||||
|
||||
public func parseMessage(_ data: Data!) -> Any! {
|
||||
|
@ -42,6 +42,7 @@ import MediaEditor
|
||||
import TelegramUIDeclareEncodables
|
||||
import ContextMenuScreen
|
||||
import MetalEngine
|
||||
import RecaptchaEnterprise
|
||||
|
||||
#if canImport(AppCenter)
|
||||
import AppCenter
|
||||
@ -322,6 +323,8 @@ private func extractAccountManagerState(records: AccountRecordsView<TelegramAcco
|
||||
|
||||
private let voipDeviceToken = Promise<Data?>(nil)
|
||||
private let regularDeviceToken = Promise<Data?>(nil)
|
||||
|
||||
private var recaptchaClientsBySiteKey: [String: Promise<RecaptchaClient>] = [:]
|
||||
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
|
||||
precondition(!testIsLaunched)
|
||||
@ -511,7 +514,63 @@ private func extractAccountManagerState(records: AccountRecordsView<TelegramAcco
|
||||
Logger.shared.log("data", "can't deserialize")
|
||||
}
|
||||
return data
|
||||
}, externalRequestVerificationStream: self.firebaseRequestVerificationSecretStream.get(), autolockDeadine: autolockDeadine, encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: buildConfig.isICloudEnabled)
|
||||
}, externalRequestVerificationStream: self.firebaseRequestVerificationSecretStream.get(), externalRecaptchaRequestVerification: { method, siteKey in
|
||||
return Signal { subscriber in
|
||||
let recaptchaClient: Promise<RecaptchaClient>
|
||||
if let current = self.recaptchaClientsBySiteKey[siteKey] {
|
||||
recaptchaClient = current
|
||||
} else {
|
||||
recaptchaClient = Promise<RecaptchaClient>()
|
||||
self.recaptchaClientsBySiteKey[siteKey] = recaptchaClient
|
||||
|
||||
Recaptcha.fetchClient(withSiteKey: siteKey) { client, error in
|
||||
Queue.mainQueue().async {
|
||||
guard let client else {
|
||||
Logger.shared.log("App \(self.episodeId)", "RecaptchaClient creation error: \(String(describing: error)).")
|
||||
return
|
||||
}
|
||||
recaptchaClient.set(.single(client))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (recaptchaClient.get()
|
||||
|> take(1)
|
||||
|> mapToSignal { recaptchaClient -> Signal<String?, NoError> in
|
||||
return Signal { subscriber in
|
||||
var recaptchaAction: RecaptchaAction?
|
||||
switch method {
|
||||
case "signup":
|
||||
recaptchaAction = RecaptchaAction.signup
|
||||
default:
|
||||
break
|
||||
}
|
||||
|
||||
guard let recaptchaAction else {
|
||||
subscriber.putNext(nil)
|
||||
subscriber.putCompletion()
|
||||
|
||||
return EmptyDisposable
|
||||
}
|
||||
recaptchaClient.execute(withAction: recaptchaAction) { token, error in
|
||||
if let token {
|
||||
subscriber.putNext(token)
|
||||
Logger.shared.log("App \(self.episodeId)", "RecaptchaClient executed successfully")
|
||||
} else {
|
||||
subscriber.putNext(nil)
|
||||
Logger.shared.log("App \(self.episodeId)", "RecaptchaClient execute error: \(String(describing: error))")
|
||||
}
|
||||
subscriber.putCompletion()
|
||||
}
|
||||
|
||||
return ActionDisposable {
|
||||
}
|
||||
}
|
||||
|> runOn(Queue.mainQueue())
|
||||
}).startStandalone(next: subscriber.putNext, error: subscriber.putError, completed: subscriber.putCompletion)
|
||||
}
|
||||
|> runOn(Queue.mainQueue())
|
||||
}, autolockDeadine: autolockDeadine, encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: !buildConfig.isAppStoreBuild, isICloudEnabled: buildConfig.isICloudEnabled)
|
||||
|
||||
guard let appGroupUrl = maybeAppGroupUrl else {
|
||||
self.mainWindow?.presentNative(UIAlertController(title: nil, message: "Error 2", preferredStyle: .alert))
|
||||
|
@ -140,7 +140,7 @@ public final class NotificationViewControllerImpl {
|
||||
return nil
|
||||
})
|
||||
|
||||
sharedAccountContext = SharedAccountContextImpl(mainWindow: nil, sharedContainerPath: self.initializationData.appGroupPath, basePath: rootPath, encryptionParameters: ValueBoxEncryptionParameters(forceEncryptionIfNoSet: false, key: ValueBoxEncryptionParameters.Key(data: self.initializationData.encryptionParameters.0)!, salt: ValueBoxEncryptionParameters.Salt(data: self.initializationData.encryptionParameters.1)!), accountManager: accountManager, appLockContext: appLockContext, notificationController: nil, applicationBindings: applicationBindings, initialPresentationDataAndSettings: initialPresentationDataAndSettings!, networkArguments: NetworkInitializationArguments(apiId: self.initializationData.apiId, apiHash: self.initializationData.apiHash, languagesCategory: self.initializationData.languagesCategory, appVersion: self.initializationData.appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(self.initializationData.bundleData), externalRequestVerificationStream: .never(), autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: self.initializationData.useBetaFeatures, isICloudEnabled: false), hasInAppPurchases: false, rootPath: rootPath, legacyBasePath: nil, apsNotificationToken: .never(), voipNotificationToken: .never(), firebaseSecretStream: .never(), setNotificationCall: { _ in }, navigateToChat: { _, _, _ in }, appDelegate: nil)
|
||||
sharedAccountContext = SharedAccountContextImpl(mainWindow: nil, sharedContainerPath: self.initializationData.appGroupPath, basePath: rootPath, encryptionParameters: ValueBoxEncryptionParameters(forceEncryptionIfNoSet: false, key: ValueBoxEncryptionParameters.Key(data: self.initializationData.encryptionParameters.0)!, salt: ValueBoxEncryptionParameters.Salt(data: self.initializationData.encryptionParameters.1)!), accountManager: accountManager, appLockContext: appLockContext, notificationController: nil, applicationBindings: applicationBindings, initialPresentationDataAndSettings: initialPresentationDataAndSettings!, networkArguments: NetworkInitializationArguments(apiId: self.initializationData.apiId, apiHash: self.initializationData.apiHash, languagesCategory: self.initializationData.languagesCategory, appVersion: self.initializationData.appVersion, voipMaxLayer: 0, voipVersions: [], appData: .single(self.initializationData.bundleData), externalRequestVerificationStream: .never(), externalRecaptchaRequestVerification: { _, _ in return .never() }, autolockDeadine: .single(nil), encryptionProvider: OpenSSLEncryptionProvider(), deviceModelName: nil, useBetaFeatures: self.initializationData.useBetaFeatures, isICloudEnabled: false), hasInAppPurchases: false, rootPath: rootPath, legacyBasePath: nil, apsNotificationToken: .never(), voipNotificationToken: .never(), firebaseSecretStream: .never(), setNotificationCall: { _ in }, navigateToChat: { _, _, _ in }, appDelegate: nil)
|
||||
|
||||
presentationDataPromise.set(sharedAccountContext!.presentationData)
|
||||
}
|
||||
|
14
third-party/recaptcha/BUILD
vendored
Normal file
14
third-party/recaptcha/BUILD
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
load(
|
||||
"@build_bazel_rules_apple//apple:apple.bzl",
|
||||
"apple_dynamic_xcframework_import",
|
||||
"apple_static_xcframework_import",
|
||||
"apple_dynamic_framework_import",
|
||||
)
|
||||
|
||||
apple_static_xcframework_import(
|
||||
name = "RecaptchaEnterprise",
|
||||
xcframework_imports = glob(["RecaptchaEnterprise.xcframework/**"]),
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
],
|
||||
)
|
40
third-party/recaptcha/RecaptchaEnterprise.xcframework/Info.plist
vendored
Normal file
40
third-party/recaptcha/RecaptchaEnterprise.xcframework/Info.plist
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
<?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>LibraryIdentifier</key>
|
||||
<string>ios-arm64</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>RecaptchaEnterprise.framework</string>
|
||||
<key>SupportedArchitectures</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
<key>SupportedPlatform</key>
|
||||
<string>ios</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>LibraryIdentifier</key>
|
||||
<string>ios-arm64_x86_64-simulator</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>RecaptchaEnterprise.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>
|
||||
</array>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XFWK</string>
|
||||
<key>XCFrameworkFormatVersion</key>
|
||||
<string>1.0</string>
|
||||
</dict>
|
||||
</plist>
|
BIN
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeDirectory
vendored
Normal file
BIN
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeDirectory
vendored
Normal file
Binary file not shown.
BIN
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements
vendored
Normal file
BIN
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements
vendored
Normal file
Binary file not shown.
BIN
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements-1
vendored
Normal file
BIN
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeRequirements-1
vendored
Normal file
Binary file not shown.
338
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeResources
vendored
Normal file
338
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeResources
vendored
Normal file
@ -0,0 +1,338 @@
|
||||
<?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>files</key>
|
||||
<dict>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h</key>
|
||||
<data>
|
||||
4VDxU6SZ65gQBn3rUWCCNqxbb2Q=
|
||||
</data>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Info.plist</key>
|
||||
<data>
|
||||
lLz/4hKuGngSXx+1idP1Qd7K96Q=
|
||||
</data>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc</key>
|
||||
<data>
|
||||
EhXEo2CcyN6grvu7hRiGTj5N5/Q=
|
||||
</data>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface</key>
|
||||
<data>
|
||||
HKWaSFA8HkKEhv60fJePQ6MMw6A=
|
||||
</data>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Modules/module.modulemap</key>
|
||||
<data>
|
||||
e79+f2szYbQmmcycLjb4qvAm9ic=
|
||||
</data>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy</key>
|
||||
<data>
|
||||
d34/WdITFALLLJjkSHGiQSA6Z3Y=
|
||||
</data>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/RecaptchaEnterprise</key>
|
||||
<data>
|
||||
Vl9+I/cFYuo5INyhscdU7ZKuJKM=
|
||||
</data>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h</key>
|
||||
<data>
|
||||
4VDxU6SZ65gQBn3rUWCCNqxbb2Q=
|
||||
</data>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Info.plist</key>
|
||||
<data>
|
||||
qvXMamMsVpa8+m+Nzwchfsvt/eE=
|
||||
</data>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc</key>
|
||||
<data>
|
||||
U/f1XLQrWkvQeR+Px1/pRwRc/cc=
|
||||
</data>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface</key>
|
||||
<data>
|
||||
spJ76Pm8/Wr3VMBn4v2XqjpgBVQ=
|
||||
</data>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftdoc</key>
|
||||
<data>
|
||||
f96x+pLmntLoPnADpTqimN2ipfI=
|
||||
</data>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftinterface</key>
|
||||
<data>
|
||||
s1JZ2QV5QeLTytibw4yKa97YXMg=
|
||||
</data>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/module.modulemap</key>
|
||||
<data>
|
||||
e79+f2szYbQmmcycLjb4qvAm9ic=
|
||||
</data>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy</key>
|
||||
<data>
|
||||
d34/WdITFALLLJjkSHGiQSA6Z3Y=
|
||||
</data>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/RecaptchaEnterprise</key>
|
||||
<data>
|
||||
Bj5s+c75uv9OG+DFaJDzCJQdNR4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
4VDxU6SZ65gQBn3rUWCCNqxbb2Q=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
DVSRC0UZpbiuicyY3o0XyRn5J4W67BXA3EZoseXSJ+E=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
lLz/4hKuGngSXx+1idP1Qd7K96Q=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
69AqI/t+mFQl1WdbSZTMvyjw8Arr/BaO45RgklSi/OY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
EhXEo2CcyN6grvu7hRiGTj5N5/Q=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
FjQ9BxuUBuAipikhZdGTwdVPGVtsVSoqgo5laiu4cGk=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
HKWaSFA8HkKEhv60fJePQ6MMw6A=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
01O3JDW+YCBhgBZ+F9hJi88lBiR0CKI8XKA7R9aJ5M4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/Modules/module.modulemap</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
e79+f2szYbQmmcycLjb4qvAm9ic=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
PteZu5hZeSnScpxe2bKzAkh/J6tvZqHOPjJPPX9L3B0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
d34/WdITFALLLJjkSHGiQSA6Z3Y=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
9ogbL0FljSMHAXmM5vR4v1xZZKB2oE8aTODyTk0qUj8=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64/RecaptchaEnterprise.framework/RecaptchaEnterprise</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
Vl9+I/cFYuo5INyhscdU7ZKuJKM=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
vQn3SxzkE8c0pSwmCUM4R8oKZsHxVsafDddQf0HeFTo=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Headers/RecaptchaEnterprise.h</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
4VDxU6SZ65gQBn3rUWCCNqxbb2Q=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
DVSRC0UZpbiuicyY3o0XyRn5J4W67BXA3EZoseXSJ+E=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
qvXMamMsVpa8+m+Nzwchfsvt/eE=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
jnZiaN642xbrWF2l7fQF33YSTgePAQACl0FbRUmayMI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftdoc</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
U/f1XLQrWkvQeR+Px1/pRwRc/cc=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
tuY9mB+LTHtCEGJRwTeUGym5ANc4iiGERy3vedGcZqo=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/arm64.swiftinterface</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
spJ76Pm8/Wr3VMBn4v2XqjpgBVQ=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
vlFk7bczYlw+XSHD42G8VkhH755HVehFT7fD1snaME4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftdoc</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
f96x+pLmntLoPnADpTqimN2ipfI=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
zHc1oXV0xksHw1i1q0HYnVIF0FJ3244NSbUty6NT3g8=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/RecaptchaEnterprise.swiftmodule/x86_64.swiftinterface</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
s1JZ2QV5QeLTytibw4yKa97YXMg=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
5enubvBpufjdyyeqCZwbNZnVGNchHIwyNhUx56fzXto=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/Modules/module.modulemap</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
e79+f2szYbQmmcycLjb4qvAm9ic=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
PteZu5hZeSnScpxe2bKzAkh/J6tvZqHOPjJPPX9L3B0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/PrivacyInfo.xcprivacy</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
d34/WdITFALLLJjkSHGiQSA6Z3Y=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
9ogbL0FljSMHAXmM5vR4v1xZZKB2oE8aTODyTk0qUj8=
|
||||
</data>
|
||||
</dict>
|
||||
<key>ios-arm64_x86_64-simulator/RecaptchaEnterprise.framework/RecaptchaEnterprise</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
Bj5s+c75uv9OG+DFaJDzCJQdNR4=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
dwEBfc7UHwM0emsKXMYVXM6SRC1m7w/jOCVveRoW9jY=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
BIN
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeSignature
vendored
Normal file
BIN
third-party/recaptcha/RecaptchaEnterprise.xcframework/_CodeSignature/CodeSignature
vendored
Normal file
Binary file not shown.
@ -0,0 +1,523 @@
|
||||
// Generated by Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
|
||||
#ifndef RECAPTCHAENTERPRISE_SWIFT_H
|
||||
#define RECAPTCHAENTERPRISE_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 1 /* #if __has_feature(objc_modules) */
|
||||
#if __has_warning("-Watimport-in-framework-header")
|
||||
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
|
||||
#endif
|
||||
// Rewritten: @import Foundation;
|
||||
// From module Foundation
|
||||
#import <Foundation/Foundation.h>
|
||||
// Rewritten: @import ObjectiveC;
|
||||
// From module ObjectiveC
|
||||
// From module ObjectiveC.NSObject
|
||||
#import <objc/NSObject.h>
|
||||
// From module ObjectiveC.message
|
||||
#import <objc/message.h>
|
||||
// From module ObjectiveC.NSObjCRuntime
|
||||
#import <objc/NSObjCRuntime.h>
|
||||
// From module ObjectiveC.objc_api
|
||||
#import <objc/objc-api.h>
|
||||
// From module ObjectiveC.objc_auto
|
||||
#import <objc/objc-auto.h>
|
||||
// From module ObjectiveC.objc_exception
|
||||
#import <objc/objc-exception.h>
|
||||
// From module ObjectiveC.objc_sync
|
||||
#import <objc/objc-sync.h>
|
||||
// From module ObjectiveC.objc
|
||||
#import <objc/objc.h>
|
||||
// From module ObjectiveC.runtime
|
||||
#import <objc/runtime.h>
|
||||
#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="RecaptchaEnterprise",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
|
||||
# pragma pop_macro("any")
|
||||
#endif
|
||||
|
||||
#if defined(__OBJC__)
|
||||
|
||||
|
||||
@class NSString;
|
||||
@class RecaptchaClient;
|
||||
@class NSError;
|
||||
|
||||
/// Interface to interact with reCAPTCHA.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise9Recaptcha")
|
||||
@interface Recaptcha : NSObject
|
||||
/// Builds a new reCAPTCHA Client for the given Site Key.
|
||||
/// The SDK accepts one Site Key. Passing a different Site Key will throw an exception.
|
||||
/// \param siteKey reCAPTCHA Site Key for the app.
|
||||
///
|
||||
/// \param completion Callback function to return the RecaptchaClient or an error.
|
||||
///
|
||||
+ (void)fetchClientWithSiteKey:(NSString * _Nonnull)siteKey completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion;
|
||||
/// Builds a new reCAPTCHA Client for the given Site Key and timeout.
|
||||
/// The SDK accepts one Site Key. Passing a different Site Key will
|
||||
/// throw an exception.
|
||||
/// At least a 10000 milliseconds timeout is suggested to allow for slow
|
||||
/// networking, though in some cases longer timeouts may be necessary. The
|
||||
/// minimum allowable value is 5000 milliseconds.
|
||||
/// \param siteKey reCAPTCHA Site Key for the app.
|
||||
///
|
||||
/// \param timeout Timeout for getClient in milliseconds.
|
||||
///
|
||||
/// \param completion Callback function to return the RecaptchaClient or an error.
|
||||
///
|
||||
+ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey withTimeout:(double)timeout completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead.");
|
||||
/// Builds a new reCAPTCHA Client for the given Site Key and timeout.
|
||||
/// The SDK accepts one Site Key. Passing a different Site Key will
|
||||
/// throw an exception.
|
||||
/// This function will timeout after 10 seconds.
|
||||
/// \param siteKey reCAPTCHA Site Key for the app.
|
||||
///
|
||||
/// \param completion Callback function to return the RecaptchaClient or an error.
|
||||
///
|
||||
+ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead.");
|
||||
/// Builds a new reCAPTCHA Client for the given SiteKey.
|
||||
/// This function will timeout after 10 seconds.
|
||||
/// \param siteKey reCAPTCHA Site Key for the app.
|
||||
///
|
||||
/// \param completionHandler Callback function to return the RecaptchaClient or an error.
|
||||
///
|
||||
+ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey completionHandler:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completionHandler SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead.");
|
||||
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
|
||||
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
|
||||
@end
|
||||
|
||||
enum RecaptchaActionType : NSInteger;
|
||||
|
||||
/// Action intended to be protected by reCAPTCHA. This object should be passed
|
||||
/// to RecaptchaClient.execute.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise15RecaptchaAction")
|
||||
@interface RecaptchaAction : NSObject
|
||||
/// Creates an object with a predefined reCAPTCHA action.
|
||||
/// \param action The type of the action.
|
||||
///
|
||||
///
|
||||
/// returns:
|
||||
/// A RecaptchaAction object with the given action type.
|
||||
- (nonnull instancetype)initWithAction:(enum RecaptchaActionType)action OBJC_DESIGNATED_INITIALIZER SWIFT_DEPRECATED_MSG("Please use customAction with the regular RecaptchaAction.custom() function");
|
||||
/// Indicates that the protected action is a Login workflow.
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RecaptchaAction * _Nonnull login;)
|
||||
+ (RecaptchaAction * _Nonnull)login SWIFT_WARN_UNUSED_RESULT;
|
||||
/// Indicates that the protected action is a Signup workflow.
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RecaptchaAction * _Nonnull signup;)
|
||||
+ (RecaptchaAction * _Nonnull)signup SWIFT_WARN_UNUSED_RESULT;
|
||||
/// Creates a custom action from a String.
|
||||
+ (RecaptchaAction * _Nonnull)custom:(NSString * _Nonnull)action SWIFT_WARN_UNUSED_RESULT;
|
||||
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
|
||||
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
|
||||
@end
|
||||
|
||||
/// Action type intended to be protected by reCAPTCHA.
|
||||
typedef SWIFT_ENUM(NSInteger, RecaptchaActionType, open) {
|
||||
/// Indicates that the protected action is a Login workflow.
|
||||
RecaptchaActionTypeLogin = 0,
|
||||
/// Indicates that the protected action is a Signup workflow.
|
||||
RecaptchaActionTypeSignup = 1,
|
||||
/// When a custom action is specified, reCAPTCHA uses this value automatically.
|
||||
RecaptchaActionTypeOther = 2,
|
||||
};
|
||||
|
||||
@class RecaptchaToken;
|
||||
@class RecaptchaError;
|
||||
|
||||
/// Interface to interact with reCAPTCHA.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise15RecaptchaClient")
|
||||
@interface RecaptchaClient : NSObject
|
||||
/// Executes reCAPTCHA on a user action.
|
||||
/// It is suggested the usage of 10 seconds for the timeout. The minimum value
|
||||
/// 5 seconds.
|
||||
/// \param action The user action to protect.
|
||||
///
|
||||
/// \param timeout Timeout for execute in milliseconds.
|
||||
///
|
||||
/// \param completion Callback function to return the execute response.
|
||||
///
|
||||
- (void)executeWithAction:(RecaptchaAction * _Nonnull)action withTimeout:(double)timeout completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion;
|
||||
/// Executes reCAPTCHA on a user action.
|
||||
/// This function throws a timeout exception after 10 seconds.
|
||||
/// \param action The user action to protect.
|
||||
///
|
||||
/// \param completion Callback function to return the execute response.
|
||||
///
|
||||
- (void)executeWithAction:(RecaptchaAction * _Nonnull)action completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion;
|
||||
/// Executes reCAPTCHA on a user action.
|
||||
/// This function throws a timeout exception after 10 seconds.
|
||||
/// \param action The user action to protect.
|
||||
///
|
||||
/// \param completion Callback function to return the execute response.
|
||||
///
|
||||
- (void)execute:(RecaptchaAction * _Nonnull)action completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion;
|
||||
/// Executes reCAPTCHA on a user action.
|
||||
/// This function throws a timeout exception after 10 seconds.
|
||||
/// \param action The user action to protect.
|
||||
///
|
||||
/// \param completionHandler Callback function to return the execute response.
|
||||
///
|
||||
- (void)execute:(RecaptchaAction * _Nonnull)action completionHandler:(void (^ _Nonnull)(RecaptchaToken * _Nullable, RecaptchaError * _Nullable))completionHandler SWIFT_DEPRECATED_MSG("Use `execute(withAction:completion:)` instead.");
|
||||
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
|
||||
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
|
||||
@end
|
||||
|
||||
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise17RecaptchaConstant")
|
||||
@interface RecaptchaConstant : NSObject
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull clientVersion;)
|
||||
+ (NSString * _Nonnull)clientVersion SWIFT_WARN_UNUSED_RESULT;
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) double defaultTimeoutExecute;)
|
||||
+ (double)defaultTimeoutExecute SWIFT_WARN_UNUSED_RESULT;
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) double defaultTimeoutInit;)
|
||||
+ (double)defaultTimeoutInit SWIFT_WARN_UNUSED_RESULT;
|
||||
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
|
||||
@end
|
||||
|
||||
enum RecaptchaErrorCode : NSInteger;
|
||||
@class NSCoder;
|
||||
|
||||
/// Error class for reCAPTCHA Events.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise14RecaptchaError")
|
||||
@interface RecaptchaError : NSError
|
||||
/// Code relative to the error that was thrown. It maps to <code>RecaptchaErrorCode</code>.
|
||||
@property (nonatomic, readonly) enum RecaptchaErrorCode errorCode;
|
||||
/// Human readable error message.
|
||||
@property (nonatomic, readonly, copy) NSString * _Nonnull errorMessage;
|
||||
/// Required by <code>NSError</code> but should not be used.
|
||||
- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
|
||||
- (nonnull instancetype)initWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)dict SWIFT_UNAVAILABLE;
|
||||
@end
|
||||
|
||||
/// List of errors that can be returned from the SDK.
|
||||
/// IMPORTANT: This list is add-only. Never change any existing value, since this class is
|
||||
/// publicly visible and customers rely on these values to do error checking.
|
||||
typedef SWIFT_ENUM(NSInteger, RecaptchaErrorCode, open) {
|
||||
/// Unknown error occurred during the workflow.
|
||||
RecaptchaErrorCodeErrorCodeUnknown = 0,
|
||||
/// reCAPTCHA cannot connect to Google servers, please make sure the app has network access.
|
||||
RecaptchaErrorCodeErrorNetworkError = 1,
|
||||
/// The site key used to call reCAPTCHA is invalid.
|
||||
RecaptchaErrorCodeErrorInvalidSiteKey = 2,
|
||||
/// Cannot create a reCAPTCHA interface because the key used cannot be used on iOS.
|
||||
/// Please register new site key with the key type set to “iOS App” via
|
||||
/// <a href="https://cloud.google.com/recaptcha/docs/create-key">Create Key</a>.
|
||||
RecaptchaErrorCodeErroInvalidKeyType = 3,
|
||||
/// Cannot create a reCAPTCHA interface because the site key used doesn’t support the calling
|
||||
/// package.
|
||||
RecaptchaErrorCodeErrorInvalidPackageName = 4,
|
||||
/// reCAPTCHA cannot accept the action used, see custom
|
||||
/// <a href="https://cloud.google.com/recaptcha/docs/actions-mobile">action guidelines</a>.
|
||||
RecaptchaErrorCodeErrorInvalidAction = 5,
|
||||
/// reCAPTCHA cannot accept timeout provided, see
|
||||
/// <a href="https://cloud.google.com/recaptcha/docs/instrument-ios-apps#timeout">timeout guidelines</a>.
|
||||
RecaptchaErrorCodeErrorInvalidTimeout = 6,
|
||||
/// No network was found in the device.
|
||||
RecaptchaErrorCodeErrorNoNetwork = 7,
|
||||
/// reCAPTCHA has faced an internal error, please try again in a bit.
|
||||
RecaptchaErrorCodeErrorCodeInternalError = 100,
|
||||
};
|
||||
|
||||
|
||||
/// Swift implementation for RecaptchaTokenSwift that holds the response of a successful
|
||||
/// execute call.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise14RecaptchaToken") SWIFT_DEPRECATED_MSG("Newer implementations return the Token as a string.")
|
||||
@interface RecaptchaToken : NSObject
|
||||
/// The Token to be used for verification.
|
||||
@property (nonatomic, readonly, copy) NSString * _Nonnull recaptchaToken;
|
||||
- (nonnull instancetype)init:(NSString * _Nonnull)mobilemivdvtyi OBJC_DESIGNATED_INITIALIZER SWIFT_DEPRECATED_MSG("Newer implementations return the Token as a string.");
|
||||
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
|
||||
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
|
||||
@end
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#if __has_attribute(external_source_symbol)
|
||||
# pragma clang attribute pop
|
||||
#endif
|
||||
#if defined(__cplusplus)
|
||||
#endif
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,107 @@
|
||||
// swift-interface-format-version: 1.0
|
||||
// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
|
||||
// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -enforce-exclusivity=checked -O -enable-experimental-feature AccessLevelOnImport -enable-bare-slash-regex -module-name RecaptchaEnterprise -package-name googlemac/iPhone/recaptcha/enterprise
|
||||
import CryptoKit
|
||||
import DeviceCheck
|
||||
import Foundation
|
||||
import Network
|
||||
import Swift
|
||||
import UIKit
|
||||
import WebKit
|
||||
import _Concurrency
|
||||
import _StringProcessing
|
||||
import _SwiftConcurrencyShims
|
||||
@objc @_inheritsConvenienceInitializers @objcMembers public class RecaptchaConstant : ObjectiveC.NSObject {
|
||||
@objc public static let clientVersion: Swift.String
|
||||
@objc public static let defaultTimeoutExecute: Swift.Double
|
||||
@objc public static let defaultTimeoutInit: Swift.Double
|
||||
@objc override dynamic public init()
|
||||
@objc deinit
|
||||
}
|
||||
@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc public class Recaptcha : ObjectiveC.NSObject {
|
||||
@objc public static func fetchClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
#if compiler(>=5.3) && $AsyncAwait
|
||||
@available(iOS 13.0, *)
|
||||
public static func fetchClient(withSiteKey siteKey: Swift.String) async throws -> RecaptchaEnterprise.RecaptchaClient
|
||||
#endif
|
||||
@available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.")
|
||||
@objc public static func getClient(withSiteKey siteKey: Swift.String, withTimeout timeout: Swift.Double, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
@available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.")
|
||||
@objc public static func getClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
@available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.")
|
||||
@objc public static func getClient(siteKey: Swift.String, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
@objc deinit
|
||||
}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
@objc public enum RecaptchaActionType : Swift.Int {
|
||||
case login
|
||||
case signup
|
||||
case other
|
||||
public init?(rawValue: Swift.Int)
|
||||
public typealias RawValue = Swift.Int
|
||||
public var rawValue: Swift.Int {
|
||||
get
|
||||
}
|
||||
}
|
||||
@_hasMissingDesignatedInitializers @objc public class RecaptchaAction : ObjectiveC.NSObject {
|
||||
convenience public init(customAction: Swift.String)
|
||||
@available(*, deprecated, message: "Please use customAction with the regular RecaptchaAction.custom() function")
|
||||
@objc public init(action: RecaptchaEnterprise.RecaptchaActionType)
|
||||
@objc public static let login: RecaptchaEnterprise.RecaptchaAction
|
||||
@objc public static let signup: RecaptchaEnterprise.RecaptchaAction
|
||||
@objc public static func custom(_ action: Swift.String) -> RecaptchaEnterprise.RecaptchaAction
|
||||
@objc deinit
|
||||
}
|
||||
@_hasMissingDesignatedInitializers @objc public class RecaptchaClient : ObjectiveC.NSObject {
|
||||
@objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void)
|
||||
#if compiler(>=5.3) && $AsyncAwait
|
||||
@available(iOS 13.0, *)
|
||||
public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double = RecaptchaConstant.defaultTimeoutExecute) async throws -> Swift.String
|
||||
#endif
|
||||
@objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void)
|
||||
@objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void)
|
||||
@available(*, deprecated, message: "Use `execute(withAction:completion:)` instead.")
|
||||
@objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaToken?, RecaptchaEnterprise.RecaptchaError?) -> Swift.Void)
|
||||
@objc deinit
|
||||
}
|
||||
@objc public enum RecaptchaErrorCode : Swift.Int {
|
||||
case errorCodeUnknown = 0
|
||||
case errorNetworkError = 1
|
||||
case errorInvalidSiteKey = 2
|
||||
case erroInvalidKeyType = 3
|
||||
case errorInvalidPackageName = 4
|
||||
case errorInvalidAction = 5
|
||||
case errorInvalidTimeout = 6
|
||||
case errorNoNetwork = 7
|
||||
case errorCodeInternalError = 100
|
||||
public init?(rawValue: Swift.Int)
|
||||
public typealias RawValue = Swift.Int
|
||||
public var rawValue: Swift.Int {
|
||||
get
|
||||
}
|
||||
}
|
||||
@_hasMissingDesignatedInitializers @objc public class RecaptchaError : Foundation.NSError {
|
||||
@objc public var errorCode: RecaptchaEnterprise.RecaptchaErrorCode {
|
||||
@objc get
|
||||
}
|
||||
@objc public var errorMessage: Swift.String {
|
||||
@objc get
|
||||
}
|
||||
@objc deinit
|
||||
}
|
||||
@available(*, deprecated, message: "Newer implementations return the Token as a string.")
|
||||
@objc public class RecaptchaToken : ObjectiveC.NSObject {
|
||||
@objc final public let recaptchaToken: Swift.String
|
||||
@available(*, deprecated, message: "Newer implementations return the Token as a string.")
|
||||
@objc public init(_ mobilemivdvtyi: Swift.String)
|
||||
@objc deinit
|
||||
}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
extension RecaptchaEnterprise.RecaptchaActionType : Swift.Equatable {}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
extension RecaptchaEnterprise.RecaptchaActionType : Swift.Hashable {}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
extension RecaptchaEnterprise.RecaptchaActionType : Swift.RawRepresentable {}
|
||||
extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Equatable {}
|
||||
extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Hashable {}
|
||||
extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.RawRepresentable {}
|
@ -0,0 +1,4 @@
|
||||
framework module RecaptchaEnterprise {
|
||||
header "RecaptchaEnterprise.h"
|
||||
requires objc
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
<?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>NSPrivacyCollectedDataTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>NSPrivacyCollectedDataType</key>
|
||||
<string>NSPrivacyCollectedDataTypeDeviceID</string>
|
||||
<key>NSPrivacyCollectedDataTypeLinked</key>
|
||||
<true/>
|
||||
<key>NSPrivacyCollectedDataTypeTracking</key>
|
||||
<false/>
|
||||
<key>NSPrivacyCollectedDataTypePurposes</key>
|
||||
<array>
|
||||
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyCollectedDataType</key>
|
||||
<string>NSPrivacyCollectedDataTypePerformanceData</string>
|
||||
<key>NSPrivacyCollectedDataTypeLinked</key>
|
||||
<true/>
|
||||
<key>NSPrivacyCollectedDataTypeTracking</key>
|
||||
<false/>
|
||||
<key>NSPrivacyCollectedDataTypePurposes</key>
|
||||
<array>
|
||||
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyCollectedDataType</key>
|
||||
<string>NSPrivacyCollectedDataTypeProductInteraction</string>
|
||||
<key>NSPrivacyCollectedDataTypeLinked</key>
|
||||
<true/>
|
||||
<key>NSPrivacyCollectedDataTypeTracking</key>
|
||||
<false/>
|
||||
<key>NSPrivacyCollectedDataTypePurposes</key>
|
||||
<array>
|
||||
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
||||
</array>
|
||||
</dict>
|
||||
</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>
|
Binary file not shown.
@ -0,0 +1,523 @@
|
||||
// Generated by Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
|
||||
#ifndef RECAPTCHAENTERPRISE_SWIFT_H
|
||||
#define RECAPTCHAENTERPRISE_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 1 /* #if __has_feature(objc_modules) */
|
||||
#if __has_warning("-Watimport-in-framework-header")
|
||||
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
|
||||
#endif
|
||||
// Rewritten: @import Foundation;
|
||||
// From module Foundation
|
||||
#import <Foundation/Foundation.h>
|
||||
// Rewritten: @import ObjectiveC;
|
||||
// From module ObjectiveC
|
||||
// From module ObjectiveC.NSObject
|
||||
#import <objc/NSObject.h>
|
||||
// From module ObjectiveC.message
|
||||
#import <objc/message.h>
|
||||
// From module ObjectiveC.NSObjCRuntime
|
||||
#import <objc/NSObjCRuntime.h>
|
||||
// From module ObjectiveC.objc_api
|
||||
#import <objc/objc-api.h>
|
||||
// From module ObjectiveC.objc_auto
|
||||
#import <objc/objc-auto.h>
|
||||
// From module ObjectiveC.objc_exception
|
||||
#import <objc/objc-exception.h>
|
||||
// From module ObjectiveC.objc_sync
|
||||
#import <objc/objc-sync.h>
|
||||
// From module ObjectiveC.objc
|
||||
#import <objc/objc.h>
|
||||
// From module ObjectiveC.runtime
|
||||
#import <objc/runtime.h>
|
||||
#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="RecaptchaEnterprise",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
|
||||
# pragma pop_macro("any")
|
||||
#endif
|
||||
|
||||
#if defined(__OBJC__)
|
||||
|
||||
|
||||
@class NSString;
|
||||
@class RecaptchaClient;
|
||||
@class NSError;
|
||||
|
||||
/// Interface to interact with reCAPTCHA.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise9Recaptcha")
|
||||
@interface Recaptcha : NSObject
|
||||
/// Builds a new reCAPTCHA Client for the given Site Key.
|
||||
/// The SDK accepts one Site Key. Passing a different Site Key will throw an exception.
|
||||
/// \param siteKey reCAPTCHA Site Key for the app.
|
||||
///
|
||||
/// \param completion Callback function to return the RecaptchaClient or an error.
|
||||
///
|
||||
+ (void)fetchClientWithSiteKey:(NSString * _Nonnull)siteKey completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion;
|
||||
/// Builds a new reCAPTCHA Client for the given Site Key and timeout.
|
||||
/// The SDK accepts one Site Key. Passing a different Site Key will
|
||||
/// throw an exception.
|
||||
/// At least a 10000 milliseconds timeout is suggested to allow for slow
|
||||
/// networking, though in some cases longer timeouts may be necessary. The
|
||||
/// minimum allowable value is 5000 milliseconds.
|
||||
/// \param siteKey reCAPTCHA Site Key for the app.
|
||||
///
|
||||
/// \param timeout Timeout for getClient in milliseconds.
|
||||
///
|
||||
/// \param completion Callback function to return the RecaptchaClient or an error.
|
||||
///
|
||||
+ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey withTimeout:(double)timeout completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead.");
|
||||
/// Builds a new reCAPTCHA Client for the given Site Key and timeout.
|
||||
/// The SDK accepts one Site Key. Passing a different Site Key will
|
||||
/// throw an exception.
|
||||
/// This function will timeout after 10 seconds.
|
||||
/// \param siteKey reCAPTCHA Site Key for the app.
|
||||
///
|
||||
/// \param completion Callback function to return the RecaptchaClient or an error.
|
||||
///
|
||||
+ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey completion:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completion SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead.");
|
||||
/// Builds a new reCAPTCHA Client for the given SiteKey.
|
||||
/// This function will timeout after 10 seconds.
|
||||
/// \param siteKey reCAPTCHA Site Key for the app.
|
||||
///
|
||||
/// \param completionHandler Callback function to return the RecaptchaClient or an error.
|
||||
///
|
||||
+ (void)getClientWithSiteKey:(NSString * _Nonnull)siteKey completionHandler:(void (^ _Nonnull)(RecaptchaClient * _Nullable, NSError * _Nullable))completionHandler SWIFT_DEPRECATED_MSG("Use the new api `fetchClient(withSiteKey:completion:)` instead.");
|
||||
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
|
||||
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
|
||||
@end
|
||||
|
||||
enum RecaptchaActionType : NSInteger;
|
||||
|
||||
/// Action intended to be protected by reCAPTCHA. This object should be passed
|
||||
/// to RecaptchaClient.execute.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise15RecaptchaAction")
|
||||
@interface RecaptchaAction : NSObject
|
||||
/// Creates an object with a predefined reCAPTCHA action.
|
||||
/// \param action The type of the action.
|
||||
///
|
||||
///
|
||||
/// returns:
|
||||
/// A RecaptchaAction object with the given action type.
|
||||
- (nonnull instancetype)initWithAction:(enum RecaptchaActionType)action OBJC_DESIGNATED_INITIALIZER SWIFT_DEPRECATED_MSG("Please use customAction with the regular RecaptchaAction.custom() function");
|
||||
/// Indicates that the protected action is a Login workflow.
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RecaptchaAction * _Nonnull login;)
|
||||
+ (RecaptchaAction * _Nonnull)login SWIFT_WARN_UNUSED_RESULT;
|
||||
/// Indicates that the protected action is a Signup workflow.
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RecaptchaAction * _Nonnull signup;)
|
||||
+ (RecaptchaAction * _Nonnull)signup SWIFT_WARN_UNUSED_RESULT;
|
||||
/// Creates a custom action from a String.
|
||||
+ (RecaptchaAction * _Nonnull)custom:(NSString * _Nonnull)action SWIFT_WARN_UNUSED_RESULT;
|
||||
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
|
||||
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
|
||||
@end
|
||||
|
||||
/// Action type intended to be protected by reCAPTCHA.
|
||||
typedef SWIFT_ENUM(NSInteger, RecaptchaActionType, open) {
|
||||
/// Indicates that the protected action is a Login workflow.
|
||||
RecaptchaActionTypeLogin = 0,
|
||||
/// Indicates that the protected action is a Signup workflow.
|
||||
RecaptchaActionTypeSignup = 1,
|
||||
/// When a custom action is specified, reCAPTCHA uses this value automatically.
|
||||
RecaptchaActionTypeOther = 2,
|
||||
};
|
||||
|
||||
@class RecaptchaToken;
|
||||
@class RecaptchaError;
|
||||
|
||||
/// Interface to interact with reCAPTCHA.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise15RecaptchaClient")
|
||||
@interface RecaptchaClient : NSObject
|
||||
/// Executes reCAPTCHA on a user action.
|
||||
/// It is suggested the usage of 10 seconds for the timeout. The minimum value
|
||||
/// 5 seconds.
|
||||
/// \param action The user action to protect.
|
||||
///
|
||||
/// \param timeout Timeout for execute in milliseconds.
|
||||
///
|
||||
/// \param completion Callback function to return the execute response.
|
||||
///
|
||||
- (void)executeWithAction:(RecaptchaAction * _Nonnull)action withTimeout:(double)timeout completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion;
|
||||
/// Executes reCAPTCHA on a user action.
|
||||
/// This function throws a timeout exception after 10 seconds.
|
||||
/// \param action The user action to protect.
|
||||
///
|
||||
/// \param completion Callback function to return the execute response.
|
||||
///
|
||||
- (void)executeWithAction:(RecaptchaAction * _Nonnull)action completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion;
|
||||
/// Executes reCAPTCHA on a user action.
|
||||
/// This function throws a timeout exception after 10 seconds.
|
||||
/// \param action The user action to protect.
|
||||
///
|
||||
/// \param completion Callback function to return the execute response.
|
||||
///
|
||||
- (void)execute:(RecaptchaAction * _Nonnull)action completion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion;
|
||||
/// Executes reCAPTCHA on a user action.
|
||||
/// This function throws a timeout exception after 10 seconds.
|
||||
/// \param action The user action to protect.
|
||||
///
|
||||
/// \param completionHandler Callback function to return the execute response.
|
||||
///
|
||||
- (void)execute:(RecaptchaAction * _Nonnull)action completionHandler:(void (^ _Nonnull)(RecaptchaToken * _Nullable, RecaptchaError * _Nullable))completionHandler SWIFT_DEPRECATED_MSG("Use `execute(withAction:completion:)` instead.");
|
||||
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
|
||||
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
|
||||
@end
|
||||
|
||||
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise17RecaptchaConstant")
|
||||
@interface RecaptchaConstant : NSObject
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull clientVersion;)
|
||||
+ (NSString * _Nonnull)clientVersion SWIFT_WARN_UNUSED_RESULT;
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) double defaultTimeoutExecute;)
|
||||
+ (double)defaultTimeoutExecute SWIFT_WARN_UNUSED_RESULT;
|
||||
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) double defaultTimeoutInit;)
|
||||
+ (double)defaultTimeoutInit SWIFT_WARN_UNUSED_RESULT;
|
||||
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
|
||||
@end
|
||||
|
||||
enum RecaptchaErrorCode : NSInteger;
|
||||
@class NSCoder;
|
||||
|
||||
/// Error class for reCAPTCHA Events.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise14RecaptchaError")
|
||||
@interface RecaptchaError : NSError
|
||||
/// Code relative to the error that was thrown. It maps to <code>RecaptchaErrorCode</code>.
|
||||
@property (nonatomic, readonly) enum RecaptchaErrorCode errorCode;
|
||||
/// Human readable error message.
|
||||
@property (nonatomic, readonly, copy) NSString * _Nonnull errorMessage;
|
||||
/// Required by <code>NSError</code> but should not be used.
|
||||
- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
|
||||
- (nonnull instancetype)initWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)dict SWIFT_UNAVAILABLE;
|
||||
@end
|
||||
|
||||
/// List of errors that can be returned from the SDK.
|
||||
/// IMPORTANT: This list is add-only. Never change any existing value, since this class is
|
||||
/// publicly visible and customers rely on these values to do error checking.
|
||||
typedef SWIFT_ENUM(NSInteger, RecaptchaErrorCode, open) {
|
||||
/// Unknown error occurred during the workflow.
|
||||
RecaptchaErrorCodeErrorCodeUnknown = 0,
|
||||
/// reCAPTCHA cannot connect to Google servers, please make sure the app has network access.
|
||||
RecaptchaErrorCodeErrorNetworkError = 1,
|
||||
/// The site key used to call reCAPTCHA is invalid.
|
||||
RecaptchaErrorCodeErrorInvalidSiteKey = 2,
|
||||
/// Cannot create a reCAPTCHA interface because the key used cannot be used on iOS.
|
||||
/// Please register new site key with the key type set to “iOS App” via
|
||||
/// <a href="https://cloud.google.com/recaptcha/docs/create-key">Create Key</a>.
|
||||
RecaptchaErrorCodeErroInvalidKeyType = 3,
|
||||
/// Cannot create a reCAPTCHA interface because the site key used doesn’t support the calling
|
||||
/// package.
|
||||
RecaptchaErrorCodeErrorInvalidPackageName = 4,
|
||||
/// reCAPTCHA cannot accept the action used, see custom
|
||||
/// <a href="https://cloud.google.com/recaptcha/docs/actions-mobile">action guidelines</a>.
|
||||
RecaptchaErrorCodeErrorInvalidAction = 5,
|
||||
/// reCAPTCHA cannot accept timeout provided, see
|
||||
/// <a href="https://cloud.google.com/recaptcha/docs/instrument-ios-apps#timeout">timeout guidelines</a>.
|
||||
RecaptchaErrorCodeErrorInvalidTimeout = 6,
|
||||
/// No network was found in the device.
|
||||
RecaptchaErrorCodeErrorNoNetwork = 7,
|
||||
/// reCAPTCHA has faced an internal error, please try again in a bit.
|
||||
RecaptchaErrorCodeErrorCodeInternalError = 100,
|
||||
};
|
||||
|
||||
|
||||
/// Swift implementation for RecaptchaTokenSwift that holds the response of a successful
|
||||
/// execute call.
|
||||
SWIFT_CLASS("_TtC19RecaptchaEnterprise14RecaptchaToken") SWIFT_DEPRECATED_MSG("Newer implementations return the Token as a string.")
|
||||
@interface RecaptchaToken : NSObject
|
||||
/// The Token to be used for verification.
|
||||
@property (nonatomic, readonly, copy) NSString * _Nonnull recaptchaToken;
|
||||
- (nonnull instancetype)init:(NSString * _Nonnull)mobilemivdvtyi OBJC_DESIGNATED_INITIALIZER SWIFT_DEPRECATED_MSG("Newer implementations return the Token as a string.");
|
||||
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
|
||||
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
|
||||
@end
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#if __has_attribute(external_source_symbol)
|
||||
# pragma clang attribute pop
|
||||
#endif
|
||||
#if defined(__cplusplus)
|
||||
#endif
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,107 @@
|
||||
// swift-interface-format-version: 1.0
|
||||
// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
|
||||
// swift-module-flags: -target arm64-apple-ios14.0-simulator -enable-objc-interop -enable-library-evolution -enforce-exclusivity=checked -O -enable-experimental-feature AccessLevelOnImport -enable-bare-slash-regex -module-name RecaptchaEnterprise -package-name googlemac/iPhone/recaptcha/enterprise
|
||||
import CryptoKit
|
||||
import DeviceCheck
|
||||
import Foundation
|
||||
import Network
|
||||
import Swift
|
||||
import UIKit
|
||||
import WebKit
|
||||
import _Concurrency
|
||||
import _StringProcessing
|
||||
import _SwiftConcurrencyShims
|
||||
@objc @_inheritsConvenienceInitializers @objcMembers public class RecaptchaConstant : ObjectiveC.NSObject {
|
||||
@objc public static let clientVersion: Swift.String
|
||||
@objc public static let defaultTimeoutExecute: Swift.Double
|
||||
@objc public static let defaultTimeoutInit: Swift.Double
|
||||
@objc override dynamic public init()
|
||||
@objc deinit
|
||||
}
|
||||
@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc public class Recaptcha : ObjectiveC.NSObject {
|
||||
@objc public static func fetchClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
#if compiler(>=5.3) && $AsyncAwait
|
||||
@available(iOS 13.0, *)
|
||||
public static func fetchClient(withSiteKey siteKey: Swift.String) async throws -> RecaptchaEnterprise.RecaptchaClient
|
||||
#endif
|
||||
@available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.")
|
||||
@objc public static func getClient(withSiteKey siteKey: Swift.String, withTimeout timeout: Swift.Double, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
@available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.")
|
||||
@objc public static func getClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
@available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.")
|
||||
@objc public static func getClient(siteKey: Swift.String, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
@objc deinit
|
||||
}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
@objc public enum RecaptchaActionType : Swift.Int {
|
||||
case login
|
||||
case signup
|
||||
case other
|
||||
public init?(rawValue: Swift.Int)
|
||||
public typealias RawValue = Swift.Int
|
||||
public var rawValue: Swift.Int {
|
||||
get
|
||||
}
|
||||
}
|
||||
@_hasMissingDesignatedInitializers @objc public class RecaptchaAction : ObjectiveC.NSObject {
|
||||
convenience public init(customAction: Swift.String)
|
||||
@available(*, deprecated, message: "Please use customAction with the regular RecaptchaAction.custom() function")
|
||||
@objc public init(action: RecaptchaEnterprise.RecaptchaActionType)
|
||||
@objc public static let login: RecaptchaEnterprise.RecaptchaAction
|
||||
@objc public static let signup: RecaptchaEnterprise.RecaptchaAction
|
||||
@objc public static func custom(_ action: Swift.String) -> RecaptchaEnterprise.RecaptchaAction
|
||||
@objc deinit
|
||||
}
|
||||
@_hasMissingDesignatedInitializers @objc public class RecaptchaClient : ObjectiveC.NSObject {
|
||||
@objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void)
|
||||
#if compiler(>=5.3) && $AsyncAwait
|
||||
@available(iOS 13.0, *)
|
||||
public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double = RecaptchaConstant.defaultTimeoutExecute) async throws -> Swift.String
|
||||
#endif
|
||||
@objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void)
|
||||
@objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void)
|
||||
@available(*, deprecated, message: "Use `execute(withAction:completion:)` instead.")
|
||||
@objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaToken?, RecaptchaEnterprise.RecaptchaError?) -> Swift.Void)
|
||||
@objc deinit
|
||||
}
|
||||
@objc public enum RecaptchaErrorCode : Swift.Int {
|
||||
case errorCodeUnknown = 0
|
||||
case errorNetworkError = 1
|
||||
case errorInvalidSiteKey = 2
|
||||
case erroInvalidKeyType = 3
|
||||
case errorInvalidPackageName = 4
|
||||
case errorInvalidAction = 5
|
||||
case errorInvalidTimeout = 6
|
||||
case errorNoNetwork = 7
|
||||
case errorCodeInternalError = 100
|
||||
public init?(rawValue: Swift.Int)
|
||||
public typealias RawValue = Swift.Int
|
||||
public var rawValue: Swift.Int {
|
||||
get
|
||||
}
|
||||
}
|
||||
@_hasMissingDesignatedInitializers @objc public class RecaptchaError : Foundation.NSError {
|
||||
@objc public var errorCode: RecaptchaEnterprise.RecaptchaErrorCode {
|
||||
@objc get
|
||||
}
|
||||
@objc public var errorMessage: Swift.String {
|
||||
@objc get
|
||||
}
|
||||
@objc deinit
|
||||
}
|
||||
@available(*, deprecated, message: "Newer implementations return the Token as a string.")
|
||||
@objc public class RecaptchaToken : ObjectiveC.NSObject {
|
||||
@objc final public let recaptchaToken: Swift.String
|
||||
@available(*, deprecated, message: "Newer implementations return the Token as a string.")
|
||||
@objc public init(_ mobilemivdvtyi: Swift.String)
|
||||
@objc deinit
|
||||
}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
extension RecaptchaEnterprise.RecaptchaActionType : Swift.Equatable {}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
extension RecaptchaEnterprise.RecaptchaActionType : Swift.Hashable {}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
extension RecaptchaEnterprise.RecaptchaActionType : Swift.RawRepresentable {}
|
||||
extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Equatable {}
|
||||
extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Hashable {}
|
||||
extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.RawRepresentable {}
|
Binary file not shown.
@ -0,0 +1,107 @@
|
||||
// swift-interface-format-version: 1.0
|
||||
// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
|
||||
// swift-module-flags: -target x86_64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -enforce-exclusivity=checked -O -enable-experimental-feature AccessLevelOnImport -enable-bare-slash-regex -module-name RecaptchaEnterprise -package-name googlemac/iPhone/recaptcha/enterprise
|
||||
import CryptoKit
|
||||
import DeviceCheck
|
||||
import Foundation
|
||||
import Network
|
||||
import Swift
|
||||
import UIKit
|
||||
import WebKit
|
||||
import _Concurrency
|
||||
import _StringProcessing
|
||||
import _SwiftConcurrencyShims
|
||||
@objc @_inheritsConvenienceInitializers @objcMembers public class RecaptchaConstant : ObjectiveC.NSObject {
|
||||
@objc public static let clientVersion: Swift.String
|
||||
@objc public static let defaultTimeoutExecute: Swift.Double
|
||||
@objc public static let defaultTimeoutInit: Swift.Double
|
||||
@objc override dynamic public init()
|
||||
@objc deinit
|
||||
}
|
||||
@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc public class Recaptcha : ObjectiveC.NSObject {
|
||||
@objc public static func fetchClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
#if compiler(>=5.3) && $AsyncAwait
|
||||
@available(iOS 13.0, *)
|
||||
public static func fetchClient(withSiteKey siteKey: Swift.String) async throws -> RecaptchaEnterprise.RecaptchaClient
|
||||
#endif
|
||||
@available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.")
|
||||
@objc public static func getClient(withSiteKey siteKey: Swift.String, withTimeout timeout: Swift.Double, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
@available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.")
|
||||
@objc public static func getClient(withSiteKey siteKey: Swift.String, completion: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
@available(*, deprecated, message: "Use the new api `fetchClient(withSiteKey:completion:)` instead.")
|
||||
@objc public static func getClient(siteKey: Swift.String, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaClient?, Foundation.NSError?) -> Swift.Void)
|
||||
@objc deinit
|
||||
}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
@objc public enum RecaptchaActionType : Swift.Int {
|
||||
case login
|
||||
case signup
|
||||
case other
|
||||
public init?(rawValue: Swift.Int)
|
||||
public typealias RawValue = Swift.Int
|
||||
public var rawValue: Swift.Int {
|
||||
get
|
||||
}
|
||||
}
|
||||
@_hasMissingDesignatedInitializers @objc public class RecaptchaAction : ObjectiveC.NSObject {
|
||||
convenience public init(customAction: Swift.String)
|
||||
@available(*, deprecated, message: "Please use customAction with the regular RecaptchaAction.custom() function")
|
||||
@objc public init(action: RecaptchaEnterprise.RecaptchaActionType)
|
||||
@objc public static let login: RecaptchaEnterprise.RecaptchaAction
|
||||
@objc public static let signup: RecaptchaEnterprise.RecaptchaAction
|
||||
@objc public static func custom(_ action: Swift.String) -> RecaptchaEnterprise.RecaptchaAction
|
||||
@objc deinit
|
||||
}
|
||||
@_hasMissingDesignatedInitializers @objc public class RecaptchaClient : ObjectiveC.NSObject {
|
||||
@objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void)
|
||||
#if compiler(>=5.3) && $AsyncAwait
|
||||
@available(iOS 13.0, *)
|
||||
public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, withTimeout timeout: Swift.Double = RecaptchaConstant.defaultTimeoutExecute) async throws -> Swift.String
|
||||
#endif
|
||||
@objc public func execute(withAction action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void)
|
||||
@objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completion: @escaping (Swift.String?, Foundation.NSError?) -> Swift.Void)
|
||||
@available(*, deprecated, message: "Use `execute(withAction:completion:)` instead.")
|
||||
@objc public func execute(_ action: RecaptchaEnterprise.RecaptchaAction, completionHandler: @escaping (RecaptchaEnterprise.RecaptchaToken?, RecaptchaEnterprise.RecaptchaError?) -> Swift.Void)
|
||||
@objc deinit
|
||||
}
|
||||
@objc public enum RecaptchaErrorCode : Swift.Int {
|
||||
case errorCodeUnknown = 0
|
||||
case errorNetworkError = 1
|
||||
case errorInvalidSiteKey = 2
|
||||
case erroInvalidKeyType = 3
|
||||
case errorInvalidPackageName = 4
|
||||
case errorInvalidAction = 5
|
||||
case errorInvalidTimeout = 6
|
||||
case errorNoNetwork = 7
|
||||
case errorCodeInternalError = 100
|
||||
public init?(rawValue: Swift.Int)
|
||||
public typealias RawValue = Swift.Int
|
||||
public var rawValue: Swift.Int {
|
||||
get
|
||||
}
|
||||
}
|
||||
@_hasMissingDesignatedInitializers @objc public class RecaptchaError : Foundation.NSError {
|
||||
@objc public var errorCode: RecaptchaEnterprise.RecaptchaErrorCode {
|
||||
@objc get
|
||||
}
|
||||
@objc public var errorMessage: Swift.String {
|
||||
@objc get
|
||||
}
|
||||
@objc deinit
|
||||
}
|
||||
@available(*, deprecated, message: "Newer implementations return the Token as a string.")
|
||||
@objc public class RecaptchaToken : ObjectiveC.NSObject {
|
||||
@objc final public let recaptchaToken: Swift.String
|
||||
@available(*, deprecated, message: "Newer implementations return the Token as a string.")
|
||||
@objc public init(_ mobilemivdvtyi: Swift.String)
|
||||
@objc deinit
|
||||
}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
extension RecaptchaEnterprise.RecaptchaActionType : Swift.Equatable {}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
extension RecaptchaEnterprise.RecaptchaActionType : Swift.Hashable {}
|
||||
@available(*, deprecated, message: "Use RecaptchaAction enums instead.")
|
||||
extension RecaptchaEnterprise.RecaptchaActionType : Swift.RawRepresentable {}
|
||||
extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Equatable {}
|
||||
extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.Hashable {}
|
||||
extension RecaptchaEnterprise.RecaptchaErrorCode : Swift.RawRepresentable {}
|
@ -0,0 +1,4 @@
|
||||
framework module RecaptchaEnterprise {
|
||||
header "RecaptchaEnterprise.h"
|
||||
requires objc
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
<?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>NSPrivacyCollectedDataTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>NSPrivacyCollectedDataType</key>
|
||||
<string>NSPrivacyCollectedDataTypeDeviceID</string>
|
||||
<key>NSPrivacyCollectedDataTypeLinked</key>
|
||||
<true/>
|
||||
<key>NSPrivacyCollectedDataTypeTracking</key>
|
||||
<false/>
|
||||
<key>NSPrivacyCollectedDataTypePurposes</key>
|
||||
<array>
|
||||
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyCollectedDataType</key>
|
||||
<string>NSPrivacyCollectedDataTypePerformanceData</string>
|
||||
<key>NSPrivacyCollectedDataTypeLinked</key>
|
||||
<true/>
|
||||
<key>NSPrivacyCollectedDataTypeTracking</key>
|
||||
<false/>
|
||||
<key>NSPrivacyCollectedDataTypePurposes</key>
|
||||
<array>
|
||||
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyCollectedDataType</key>
|
||||
<string>NSPrivacyCollectedDataTypeProductInteraction</string>
|
||||
<key>NSPrivacyCollectedDataTypeLinked</key>
|
||||
<true/>
|
||||
<key>NSPrivacyCollectedDataTypeTracking</key>
|
||||
<false/>
|
||||
<key>NSPrivacyCollectedDataTypePurposes</key>
|
||||
<array>
|
||||
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
|
||||
</array>
|
||||
</dict>
|
||||
</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>
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user