iOS 在 AWS Mobile SDK 中使用 Quickblox Pod 文件构建错误
iOS Build Error Using Quickblox Pod file in AWS Mobile SDK
我们有一个 iOS 应用程序直接引用 AWS Mobile 框架和其他几个使用 CocoaPods 的库。该项目构建良好
但是,当我们添加 'Quickblox-SDK' 作为附加库以在 PodFile 和 运行 pod install 中引用时,我遇到了几个 build/linker 错误:
Undefined symbols for architecture x86_64:
"_AWSSNSErrorDomain", referenced from:
___88-[AWSPushManager interceptApplication:didRegisterForRemoteNotificationsWithDeviceToken:]_block_invoke.239 in AWSMobileHubHelper(AWSPushManager.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_$_FBSDKAccessToken", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_FBSDKApplicationDelegate", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_FBSDKGraphRequest", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_FBSDKLoginManager", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.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)
如果我们从其他链接器标志构建设置中删除 $(inherited) 标志,则会出现以下错误:-
bash: /User/..../AWSCore.framework/strip-frameworks.sh: 没有那个文件或目录
uploadDSYM[13005:219405] Fabric.framework/run 1.4.1 (160)
uploadDSYM[13005:219405] 在验证模式下启动上传器
bash: /Users/..../Frameworks/Quickblox.framework/strip-framework.sh: 没有那个文件或目录
任何帮助将不胜感激..
谢谢,
在您的 Pods-{PROJECT_NAME}.debug.xcconfig
和 Pods-{PROJECT_NAME}.release.xcconfig
文件中,找到这一行
OTHER_LDFLAGS = $(inherited) -ObjC -l"z" ....
并删除 -ObjC
或者,您也可以通过转至构建设置 -> 其他链接器标志从 XCode 修复此问题,然后从那里删除 -ObjC
我们有一个 iOS 应用程序直接引用 AWS Mobile 框架和其他几个使用 CocoaPods 的库。该项目构建良好
但是,当我们添加 'Quickblox-SDK' 作为附加库以在 PodFile 和 运行 pod install 中引用时,我遇到了几个 build/linker 错误:
Undefined symbols for architecture x86_64:
"_AWSSNSErrorDomain", referenced from:
___88-[AWSPushManager interceptApplication:didRegisterForRemoteNotificationsWithDeviceToken:]_block_invoke.239 in AWSMobileHubHelper(AWSPushManager.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_$_FBSDKAccessToken", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_FBSDKApplicationDelegate", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_FBSDKGraphRequest", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_FBSDKLoginManager", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.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)
如果我们从其他链接器标志构建设置中删除 $(inherited) 标志,则会出现以下错误:-
bash: /User/..../AWSCore.framework/strip-frameworks.sh: 没有那个文件或目录 uploadDSYM[13005:219405] Fabric.framework/run 1.4.1 (160) uploadDSYM[13005:219405] 在验证模式下启动上传器 bash: /Users/..../Frameworks/Quickblox.framework/strip-framework.sh: 没有那个文件或目录
任何帮助将不胜感激..
谢谢,
在您的 Pods-{PROJECT_NAME}.debug.xcconfig
和 Pods-{PROJECT_NAME}.release.xcconfig
文件中,找到这一行
OTHER_LDFLAGS = $(inherited) -ObjC -l"z" ....
并删除 -ObjC
或者,您也可以通过转至构建设置 -> 其他链接器标志从 XCode 修复此问题,然后从那里删除 -ObjC