我最近使用XCode Swift Migrator将我的Swift 2.3 SDK项目迁移到Swift 3。执行此操作后,我更新了我的pod依赖项( AlamoFire - 4.4.0 和 SwiftyJSON - 3.1.4 )以使用它们各自的Swift 3版本。
不幸的是,在此之后,我的项目没有建立。我收到以下错误:
使用Swift 2.3编译的模块无法在Swift 3.0.2中导入: ... / Alamofire.framework /模块/ Alamofire.swiftmodule / x86_64.swiftmodule
我已经设置了所有" 使用Legacy Swift语言版本"到" 否"但仍然没有。
我"清洁&建立"项目和"关闭&重新打开"工作空间无济于事。
我还有什么可能遗失的?我该如何解决这个问题?
感谢。
答案 0 :(得分:1)
func parseJSONFromData(_ jsonData: Data?) -> [String : AnyObject]?
{
if let data = jsonData {
do {
let jsonDictionary = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers) as? [String : AnyObject]//Parses data into a dictionary
return jsonDictionary
} catch let error as NSError {
print("error processing json data: \(error.localizedDescription)")
}
}
return nil
}
}
命令卸载它们。这将更新您的项目并正确删除所有现有的pod。再次将广告连播添加到您的广告连播文件并再次运行pod install
。
这是可以做到的一般修复。它对我有用了好几次。
答案 1 :(得分:0)
尝试在所有pod之后在pod文件中添加此内容并再次运行pod install
...
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end