Как использовать AWS SDK для iOS с целью-C вместо Swift? - PullRequest
0 голосов
/ 26 марта 2019

Я подключаю свое приложение, основанное на объективе C, к хранилищу файлов AWS S3, выполнив это, выполнив это учебное пособие по усилению AWS .Он использует AWS Amplify CLI и AWS SDK для iOS (AWSAppSync).Моя проблема заключается в том, что в файл appDelegate необходимо добавить фрагмент Swift.Тем не менее, мой appDelegate - Objective-C, и я не знаю, как лучше всего добавить его правильно.

[1] Действительно ли нужен этот дополнительный фрагмент кода в файле делегата?Я только собираюсь загружать изображения в хранилище файлов S3.

[2] При необходимости, как лучше обойтись?(создание отдельного файла swift и привязка его к файлу appDelegate выглядит слишком странно)

Вот фрагмент кода:

import AWSAppSync

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var appSyncClient: AWSAppSyncClient?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        do {
            // You can choose the directory in which AppSync stores its persistent cache databases
            let cacheConfiguration = try AWSAppSyncCacheConfiguration()

            // AppSync configuration & client initialization
            let appSyncServiceConfig = try AWSAppSyncServiceConfig()
            let appSyncConfig = try AWSAppSyncClientConfiguration(appSyncServiceConfig: appSyncServiceConfig,
                                                                  cacheConfiguration: cacheConfiguration)
            appSyncClient = try AWSAppSyncClient(appSyncConfig: appSyncConfig)
        } catch {
            print("Error initializing appsync client. \(error)")
        }
        // other methods
        return true
    }

Пока я пытался использовать этот фрагмент кода:

#import <AWSAppSync/AWSAppSync.h>
#import <AWSCore/AWSCore.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:DefaultServiceRegionType credentialsProvider:credentialsProvider];
    AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration;
}

Но я получаю ошибки:

Use of undeclared identifier 'DefaultServiceRegionType'
Use of undeclared identifier 'credentialsProvider'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...