1

그래서 Amazon Web Services를 사용하여 프로젝트를 작성했고 로컬 저장소를 추가하기로 결정 했으므로 podfile 'FMDB' (지침 비디오는 여기에서 찾으십시오 : https://www.youtube.com/watch?v=D5tE61gzIVs). podfile를 추가 한 후, 나는 다음과 같은 오류를 얻을 : 이들의Amazon 웹 서비스와 관련된 podfile 'FMDB'를 추가 한 후 응용 프로그램이 시작되지 않음

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) 

을 많이 심지어 중 하나 (예 : AWSGoogleSignInProvider로) 내 응용 프로그램에서 사용하고 있지 않다. 또한 사용하고있는 각 AWS 프레임 워크에 대해 -ObjC를 제거하고 "-force_load (Framework pathway)"를 추가하여 "Other Linker Flags"에서 내용을 변경하려고했습니다. 그러나이 작업을 수행하면 linker command failed with exit code 1의 오류가 발생합니다. 나는 또한 아마존 SDK에서 발견 된 모든 pod 파일을 추가하려고 시도했지만 (https://github.com/aws/aws-sdk-ios) 여기에 오류가 여전히 남아 있습니다 : "_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).

누구에게 내가 이것을 할 수 있는지 알고 있습니까? AWS 데이터베이스와 함께 로컬 스토리지를 실제로 사용해야하기 때문에 이러한 오류를 어떻게 해결할 수 있는지 잘 모르겠습니다. 고맙습니다.

+0

iOS 용 AWS SDK에는 이미 FMDB https://github.com/aws/aws-sdk-ios/tree/master/AWSCore/FMDB가 포함되어 있습니다. 직접 문제를 해결할 수 있습니다. AWSCore와 버전에 포함 된 버전이 어떤 식 으로든 상충 될 가능성이 있습니다. – Karthik

답변

0

이 여기에 문제의 중복처럼 보이는 ...
https://forums.aws.amazon.com/message.jspa?messageID=754901

다음 시도하십시오 ...

코코아 포드를 사용하는 경우, 당신은이 있는지 확인하십시오 "use_frameworks을!" 이처럼 Podfile, 라인 ... 코코아 포드를 사용하지 않는 경우

 
platform :ios, '8.1' 
use_frameworks!

target 'MySampleApp' do pod 'whateverpodyouwantgoeshere' end

, 다음 링커 설정이 정확히 사람들이 AWS 모바일 허브 샘플 응용 프로그램 프로젝트 다운로드에 설정으로 설정되어 있는지 확인하십시오 . 감사합니다

,
앤드류 C
AWS 모바일 개발자 경험

+0

문제가 해결되지 않음 –

0

열고 포드는 pod-projectname.debug.xcconfig 파일과 OTHER_LDFLAGS에서 -ObjC를 제거합니다. 이렇게하면 문제가 해결됩니다.