Я подключаю свое приложение, основанное на объективе 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'