Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

137
Vistas
¿Cómo puedo configurar Amazon Amplify iOS en Objective-C?

Los documentos muestran solo el código Swift. Cuando trato de usar Objective-C, no puedo acceder a ninguna de las bibliotecas de Amplify. ¿Me estoy perdiendo un paso de instalación?

 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

}

¿Cómo hacer el equivalente en Objective-C?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Sí, todavía existen viejas aplicaciones crujientes de Objective C. Y tienen que ser mantenidos. Realmente no es razonable esperar que los desarrolladores los reescriban en Swift solo para poder usar Amplify. Recientemente me pidieron que agregara Amplify a una aplicación creada a principios de 2015 antes de que existiera Swift. (Dios mío, ¿realmente hay aplicaciones que tienen más de 5 años?)

Afortunadamente, si puede morder la bala y agregar compatibilidad con Swift a su proyecto de Objective C, no es tan difícil crear una clase contenedora de Swift que use de Objective C. Aquí hay una que creé gratis. Sería bueno que la gente muy bien pagada de Amazon tuviera la amabilidad de ayudarnos con ejemplos como este.

 import Amplify import AmplifyPlugins @objc class AmplifyWrapper: NSObject { override init() { super.init() } @objc public func initialize() { 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)") } } @objc public func recordEvent(name: String, category: String, accountId: String) { let properties: AnalyticsProperties = [ "category": category, "accountId": accountId] let event = BasicAnalyticsEvent(name: name, properties: properties) Amplify.Analytics.record(event: event) } }

Use el formulario Objective C así:

 #import "PutYourAppNameHere-Swift.h" - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[[AmplifyWrapper alloc] init] initialize]; ... }

Luego, más adelante puedes hacer esto:

 [[[AmplifyWrapper alloc] init] recordEventWithName:@"App Opened" category:@"Counts" accountId:""];
over 4 years ago · Santiago Trujillo Denunciar

0

¿Me estoy perdiendo un paso de instalación?

No te estás perdiendo nada. Lamentablemente, no hay compatibilidad con Objective-C en Amplify para iOS. Amplify se creó en Swift usando todas sus capacidades y la compatibilidad con Objective-C no se está considerando actualmente a menos que haya una fuerte demanda de la comunidad.


Por curiosidad: ¿estás iniciando una nueva aplicación en Objective-C? Si es así, tendría curiosidad por entender por qué no optar por Swift dada la inversión de Apple en Swift últimamente (Combine, SwiftUI, actualizaciones de idioma de Swift, etc.).

Si está intentando integrar Amplify en una aplicación Objective-C existente, me temo que no será posible.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda