显然我已经设法在 Xcode 9 beta 中构建我的项目,现在我只得到错误
swift 4.0编译的模块不能导入swift 3.1
当我在 Xcode 8 中运行项目时。我的模块是 Alamofire。我试图重新启动 Xcode 但没有任何想法如何解决这个问题?
显然我已经设法在 Xcode 9 beta 中构建我的项目,现在我只得到错误
swift 4.0编译的模块不能导入swift 3.1
当我在 Xcode 8 中运行项目时。我的模块是 Alamofire。我试图重新启动 Xcode 但没有任何想法如何解决这个问题?
你有两个选择:
Clean
项目,然后尝试re-build
你的解决方案,看看它是否有效。
如果它不起作用并且您仍然收到相同的错误消息,请执行以下步骤,它应该适合您:
podfile
并删除Alamofire
pod update
Alamofire
到您的podfile
pod update
clean
您的项目并运行它同样的问题,但使用迦太基。这是答案:
rm -rf ~/Library/Caches/org.carthage.CarthageKit/DerivedData
Carthage
项目的文件夹carthage update --platform iOS
瞧!
我遇到了同样的问题,清理构建文件夹有帮助:
Command+Option+Shift+K
或者
Product
->Option+Clean
只需删除派生数据对我有用,无需再次安装 Pod
我在 Carthage 管理依赖项的项目中遇到了这个问题。在我的例子中,我没有在 xcode 中设置命令行工具(输入 xcodebuild -version,你会知道你是否设置了它),所以第一步是去 XCode --> Preference --> Locations 然后选择要用作命令行工具的 xcode。然后你可以按照上面提到的@Domsware 的步骤来重建你将要使用的所有框架。
================================================
同样的问题,但使用迦太基。这是答案:
rm -rf ~/Library/Caches/org.carthage.CarthageKit/DerivedData
delete the Carthage folder for the project
Update Carthage: carthage update --platform iOS
================================================
然后不要忘记删除“链接的框架和库”下的旧链接,并将所有框架从您项目下的 /Carthage 文件夹拖到“链接的框架和库”。
然后瞧!
对于那些使用 CocoaPods 的人,我怀疑(免责声明:我在 CocoaPods 是依赖项管理器的项目中没有遇到这个问题)解决方案将在终端中运行以下命令:
$ pod deintegrate
$ pod clean
$ pod install
您可能需要为 CocoaPod 安装“deintegrate”和“clean”工具的地方
$ sudo gem install cocoapods-deintegrate cocoapods-clean
更多详细信息,请参阅 如何从项目中删除 CocoaPods?
在 pod 文件的末尾添加以下行:
post_install do |installer|
print "Setting the default SWIFT_VERSION to 4.0\n"
installer.pods_project.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
installer.pods_project.targets.each do |target|
if ['SomeTarget-iOS', 'SomeTarget-watchOS'].include? "#{target}"
print "Setting #{target}'s SWIFT_VERSION to 3.0\n"
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
else
print "Setting #{target}'s SWIFT_VERSION to Undefined (Xcode will automatically resolve)\n"
target.build_configurations.each do |config|
config.build_settings.delete('SWIFT_VERSION')
end
end
end
end