我已经开始使用AWSMobileHub,我只是经历了集成步骤,但它似乎没有打好我打算在项目中使用的cocoapods。awsmobilehub和cocoapods集成
我遵循集成步骤并添加了我从aws +帮助程序代码下载的框架。
我加入了他们作为嵌入式框架,像这样
这编译并运行良好
然后我添加的CocoaPods与荚项目init,使用以下命令编辑podfile并创建工作空间。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'ProjectName' do
project 'ProjectName'
pod 'Fabric'
pod 'Crashlytics'
end
其次是pod安装,它增加了我添加到podfile中的任何框架。
但现在当我编译时,我得到以下错误。
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_AWSS3PreSignedURLBuilder", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
"_OBJC_CLASS_$_AWSS3ListObjectsOutput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
"_OBJC_CLASS_$_AWSS3GetPreSignedURLRequest", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
"_OBJC_CLASS_$_AWSS3", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
(maybe you meant: _OBJC_CLASS_$_AWSS3ContentProvider)
"_OBJC_CLASS_$_FBSDKLoginManager", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_AWSLambdaInvoker", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSCloudLogic.o)
"_OBJC_CLASS_$_AWSSNSGetEndpointAttributesInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_FBSDKApplicationDelegate", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_AWSSNSSubscribeInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_GIDSignIn", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSGoogleSignInProvider.o)
"_OBJC_CLASS_$_AWSSNSSetEndpointAttributesInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_FBSDKAccessToken", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_AWSSNS", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_FBSDKGraphRequest", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSFacebookSignInProvider.o)
"_OBJC_CLASS_$_AWSS3ListObjectsRequest", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
"_OBJC_CLASS_$_AWSSNSCreatePlatformEndpointInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_OBJC_CLASS_$_AWSSNSUnsubscribeInput", referenced from:
objc-class-ref in AWSMobileHubHelper(AWSPushManager.o)
"_AWSSNSErrorDomain", referenced from:
___88-[AWSPushManager interceptApplication:didRegisterForRemoteNotificationsWithDeviceToken:]_block_invoke.237 in AWSMobileHubHelper(AWSPushManager.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如果我删除了嵌入式框架,并把它们添加到podfile代替
我得到了同样的错误。
这是我调试其他连接标志建立
//:configuration = Debug
OTHER_LDFLAGS = $(inherited) -l"c++"
-l"sqlite3"
-l"stdc++"
-l"z"
-framework "AVFoundation"
-framework "AWSCognitoIdentityProvider"
-framework "AWSCore"
-framework "AddressBook"
-framework "AssetsLibrary"
-framework "CFNetwork"
-framework "CoreFoundation"
-framework "CoreGraphics"
-framework "CoreLocation"
-framework "CoreMedia"
-framework "CoreMotion"
-framework "CoreText"
-framework "CoreVideo"
-framework "MessageUI"
-framework "QuartzCore"
-framework "SafariServices"
-framework "Security"
-framework "StoreKit"
-framework "SystemConfiguration"
-framework "UIKit"
//:completeSettings = none
编辑:这样看来,它允许一些框架用的CocoaPods罚款加
这个问题似乎当框架需要-ObjC到出现要添加到其他连接标志
OTHER_LDFLAGS = $(inherited) -ObjC -l"z" -framework "AFNetworking" -framework "AWSCognitoIdentityProvider" -framework "AWSCore" -framework "Bolts" -framework "CFNetwork" -framework "CoreGraphics" -framework "FBSDKCoreKit" -framework "FBSDKLoginKit" -framework "PureLayout" -framework "QuartzCore" -framework "Reveal"
以上是在pod.debug.xcconfig文件
当我添加以下与AWS编译罚款
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'PureLayout'
pod 'AFNetworking', '3.1.0'
为例
不过,如果我添加以下它-ObjC增加,并导致所有的错误
pod 'Reveal-iOS-SDK', :configurations => ['Debug']
任何想法我应该在这里做什么来让这些框架一起玩?如果我尝试添加显示为POD文件放入带有AWSMobileHub“MySampleApp”
编辑2示例应用程序
同样的情况: 当我删除包含AWSMobileHubHelper.framework的AMazonAws文件夹,并与编译只是从cocoapods添加的aws文件工作正常。当添加AmazonAws文件夹时,问题似乎就会发生。
我尝试将AWSCognito添加到现有程序时出现同样的错误。你解决了这个问题吗? – user3239711
@ user3239711没有抱歉。我必须嵌入AWS框架,并且始终确保在运行pod更新后从pod xcconfig文件中删除-ObjC – glogic