1

J'ai donc construit un projet en utilisant Amazon Web Services, et j'ai décidé d'ajouter du stockage local, donc j'ai ajouté le fichier podfile 'FMDB' (En utilisant la vidéo d'instruction trouvée ici: https://www.youtube.com/watch?v=D5tE61gzIVs). Après avoir ajouté le PODFILE, je reçois les erreurs suivantes:L'application ne démarre pas après avoir ajouté le fichier podfile 'FMDB', lié aux services web Amazon

Undefined symbols for architecture x86_64: 
    "_AWSSNSErrorDomain", referenced from: 
     ___88-[AWSPushManager interceptApplication:didRegisterForRemoteNotificationsWithDeviceToken:]_block_invoke.239 in AWSMobileHubHelper(AWSPushManager.o) 
    "_OBJC_CLASS_$_AWSLambdaInvoker", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSCloudLogic.o) 
    "_OBJC_CLASS_$_AWSS3", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSContentManager.o) 
    (maybe you meant: _OBJC_CLASS_$_AWSS3ContentProvider) 
    "_OBJC_CLASS_$_AWSS3GetPreSignedURLRequest", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSContentManager.o) 
    "_OBJC_CLASS_$_AWSS3ListObjectsOutput", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSContentManager.o) 
    "_OBJC_CLASS_$_AWSS3ListObjectsRequest", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSContentManager.o) 
    "_OBJC_CLASS_$_AWSS3PreSignedURLBuilder", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSContentManager.o) 
    "_OBJC_CLASS_$_AWSSNS", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSPushManager.o) 
    "_OBJC_CLASS_$_AWSSNSCreatePlatformEndpointInput", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSPushManager.o) 
    "_OBJC_CLASS_$_AWSSNSGetEndpointAttributesInput", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSPushManager.o) 
    "_OBJC_CLASS_$_AWSSNSSetEndpointAttributesInput", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSPushManager.o) 
    "_OBJC_CLASS_$_AWSSNSSubscribeInput", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSPushManager.o) 
    "_OBJC_CLASS_$_AWSSNSUnsubscribeInput", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSPushManager.o) 
    "_OBJC_CLASS_$_GIDSignIn", referenced from: 
     objc-class-ref in AWSMobileHubHelper(AWSGoogleSignInProvider.o) 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Beaucoup d'entre eux, je ne suis même pas en utilisant dans mon application soit (comme AWSGoogleSignInProvider). J'ai également essayé de modifier le contenu sous "Autres indicateurs de liens" en supprimant -ObjC et en ajoutant "-force_load (Framework pathway)" pour chaque framework AWS que j'utilise. Quand je fais ceci cependant, j'obtiens juste l'erreur de linker command failed with exit code 1. J'ai également essayé d'ajouter tous les podfiles trouvés dans l'amazon sdk (trouvé ici: https://github.com/aws/aws-sdk-ios), mais l'erreur suivante est restée: "_OBJC_CLASS_$_GIDSignIn", referenced from: objc-class-ref in AWSMobileHubHelper(AWSGoogleSignInProvider.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation).

Est-ce que quelqu'un sait ce que je peux faire pour cela? Parce que j'ai vraiment besoin d'utiliser le stockage local avec ma base de données AWS, mais je ne sais pas comment je peux réparer ces erreurs. Je vous remercie.

+0

AWS SDK pour iOS inclut déjà FMDB https://github.com/aws/aws-sdk-ios/tree/master/AWSCore/FMDB. Vous pouvez directement les utiliser pour contourner votre problème. Il est probable que la version incluse dans l'AWSCore et vos versions soient en conflit d'une manière ou d'une autre. – Karthik

Répondre

0

Cela ressemble à un double de la question ici ...
https://forums.aws.amazon.com/message.jspa?messageID=754901

S'il vous plaît essayez ce qui suit ...

Si vous utilisez Cocoa pods, s'il vous plaît assurez-vous que les « use_frameworks! » ligne dans votre PODFILE, comme ça ...

 
platform :ios, '8.1' 
use_frameworks!

target 'MySampleApp' do pod 'whateverpodyouwantgoeshere' end

Si vous n'utilisez pas Cosses de cacao, alors s'il vous plaît assurez-vous que vos paramètres de liaison sont définis exactement comme ceux-ci sont mis dans le projet d'application exemple Hub mobile AWS télécharger .

Sincèrement,
Andrew C
AWS mobile Developer Experience

+0

cela ne résout pas le problème –

0

Ouvrez le fichier Pod pod-projectname.debug.xcconfig et supprimer -ObjC du OTHER_LDFLAGS. Cela résout le problème.