Как настроить Amazon Amplify iOS в Objective- C? - PullRequest
3 голосов
/ 09 июля 2020

документы показывают только код Swift. При попытке использовать Objective- C я не могу получить доступ ни к одной из библиотек Amplify. Я пропустил шаг установки?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

do {
    try Amplify.add(plugin: AWSCognitoAuthPlugin())
    try Amplify.add(plugin: AWSPinpointAnalyticsPlugin())
    try Amplify.configure()
    print("Amplify configured with Auth and Analytics plugins")
} catch {
    print("Failed to initialize Amplify with \(error)")
}

return true

}

Как сделать эквивалент в Objective- C?

Ответы [ 2 ]

0 голосов
/ 24 июля 2020

Да, старые твердые приложения Objective C все еще существуют. И их нужно поддерживать. На самом деле неразумно ожидать, что разработчики перепишут их на Swift только для того, чтобы они могли использовать Amplify. Недавно меня попросили добавить Amplify в приложение, созданное в начале 2015 года, до того, как появился Swift. (Gosh - действительно ли существуют приложения, которым больше 5 лет?!)

К счастью, если вы можете перекусить и добавить поддержку Swift в свой проект Objective C, не так уж и сложно создать класс-оболочку Swift, который вы используете из Objective C. Вот один, который я создал бесплатно. Было бы неплохо, если бы высокооплачиваемые люди в Amazon были бы достаточно любезны, чтобы помочь нам с примерами, подобными этому. * Позже вы можете сделать это:

  [[[AmplifyWrapper alloc] init] recordEventWithName:@"App Opened" category:@"Counts" accountId:""];

0 голосов
/ 09 июля 2020

Я пропустил шаг установки?

Вы ничего не пропустили. К сожалению, в Amplify нет поддержки Objective- C для iOS. Amplify был построен на Swift с использованием всех его возможностей, и поддержка Objective- C в настоящее время не рассматривается, если нет сильного спроса со стороны сообщества.

Из любопытства: вы запускаете новое приложение в Objective- C? Если это так, мне было бы любопытно понять, почему бы не перейти на Swift, учитывая недавние инвестиции Apple в Swift (объединение, SwiftUI, языковые обновления Swift и т. Д. c).

Если вы пытаетесь интегрировать Amplify в существующее приложение Objective- C, боюсь, это будет невозможно.

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