2016-03-28 28 views
2

我有一个iOS应用程序直接引用AWS移动框架和其他几个使用CocoaPods的库。该项目建立良好,我可以连接到AWS没有问题。使用贝宝移动SDK的iOS构建错误

然而,当我添加了“贝宝的iOS-SDK”作为附加库在PodFile参考,并运行吊舱安装,我得到几个编译/链接错误:

Undefined symbols for architecture x86_64: 
    "_AWSSNSErrorDomain", referenced from: 
    ___88-[AWSPushManager interceptApplication:didRegisterForRemoteNotificationsWithDeviceToken:]_block_invoke239 in AWSMobileHubHelper(AWSPushManager.o) 
    "_OBJC_CLASS_$_AWSLambdaInvoker", referenced from: 
    objc-class-ref in AWSMobileHubHelper(AWSCloudLogic.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) 

如果我删除了 - 来自Other Linker Flags构建设置的ObjC标记可以构建,但无法引用PayPal框架,因为它取决于此设置。

我一直在使用-force_load代替-ObjC也尝试过,但都没有成功地让这对构建任。

我看着通过直接引用整合贝宝,而不是使用的CocoaPods但-ObjC标志仍然需要这种类型的整合,并以此作为上述导致同样的错误。

关于在与PayPal iOS SDK相同的项目中使用AWS Mobile SDK的任何想法?

+0

嗨,你可以分享你已经尝试force_load设置?你设置了force_load的目标是什么? –

+0

在解决干扰force_load设置的过程中,我必须进行一些其他更改。我恢复了所有更改并添加了以下内容:-force_load $(SRCROOT)/Pods/PayPal-iOS-SDK/Core/Frameworks/libPayPalMobile.a,现在正在构建! – outerstorm

+0

太棒了!很高兴听到你让它工作! –

回答

1

取出-ObjC其他链接器标志,并添加以下其他链接器标志:

​​
+0

在我们自己的项目链接器标志Pod项目链接器标志? –