我正在尝试将AWS库与我的iPhone应用程序集成。我使用Frameworks路线(不是CocoaPods)跟随本教程:https://github.com/aws/aws-sdk-ios#getting-started-with-swift
我添加了框架,创建了一个桥接头文件,并设置了“Objective-C Bridging Header”构建设置以指向该文件。我的桥接头文件包含以下内容:
#import <AWSiOSSDKv2/AWSCore.h>
#import <AWSiOSSDKv2/S3.h>
我认为桥接标头设置正确,因为我可以在AppDelegate中引用AWS类。例如,我的AppDelegate中有以下行,它不会引发警告或错误:
var transferManager: AWSS3TransferManager?
当我将完全相同的行放入我的ViewController时,我收到以下错误:“使用未解析的标识符'AWSS3TransferManager'”
我错过了一个简单的配置吗?是否有任何理由可以在AppDelegate中使用这些库而不是ViewController?不幸的是,在主要的AWS-Swift演示中,AWS库仅在AppDelegate中被引用:https://github.com/awslabs/aws-sdk-ios-samples/tree/master/SNS-MobileAnalytics-Sample/Swift/Sample_SNS_MobileAnalytics
答案 0 :(得分:0)
我发现了答案。在File Inspector的“Target Membership”部分中,我选择了一个额外的目标。
在这种情况下,我只需取消选中“AngleSlider”并成功构建项目:
这是一篇StackOverflow帖子,解释了“目标成员资格”的含义: What is target membership in Xcode 4