Xcode7 升级Xcode8 遇到的问题以及决解方法。

Xcode7 升级Xcode8 遇到的问题以及决解方法。_第1张图片
480606.jpg

有时候我们从xcode7 升级到Xcode8 会看到到处都是红色的感叹号。我们不知道从何入手怎么办呢。

今天就给你讲解一下如何解决这些问题。

你尝试过处理.xcodeproj 文件的合并冲突(NO)

今天我们讲解的方法是用一个工程文件同时支持xcode7 和xcode8 。

1.swift

项目使用的是swift2.3 和最新的swift 版本不兼容 ,设置SWIFT_VERSION如下图

2 Framework provisioning

Framework provisioning 的工作方式在Xcode 8 上稍有不同 —— 如果是模拟器,它们会按原样继续编译,而对于真机会构建失败。

要解决这个问题,可以像设置SWIFT_VERSION 时所做的一样,遍历 Build Settings 中所有的 Framework targets 并增加如下选项:
“PROVISIONING_PROFILE_SPECIFIER”= “ABCDEFGHIJ/“ 如下图


Xcode7 升级Xcode8 遇到的问题以及决解方法。_第2张图片
无标题.png

3你的项目中使用了 xib和storyboard 文件


(xcode的不兼容)然后找到 “Opens in“ 设置项。

显示的内容很可能是 “Default (7.0)“,将它修改为"Xcode7"


Xcode7 升级Xcode8 遇到的问题以及决解方法。_第3张图片
无标题.png

4某些方法确实无法处理

考虑到你可能会忽略这一点, Swift 2.2 就引入了编译预处理宏。用法很简单:

if swift(>=2.3)

// this compiles on Xcode 8 / Swift 2.3 / iOS 10

else

// this compiles on Xcode 7 / Swift 2.2 / iOS 9

endif

5转换Convert


(例如将swift 2.3 移植成 是swift3.0)需要确保你的所有的pods项目的依赖都已经是swift3.0

找到 Edit → Convert →To Current Swift Syntax…,选择所有的构建目标(记住,你需要一次全部转换好),review 一下diff,测试,然后提交!如果你尚未完成这些步骤,不妨考虑移除对iOS 8 的支持——这样一来你就可以告别更多的@available 检查和其他的条件语句。祝好运!

6. cocoapods 问题


最头疼的问题cocoapods里面项目依赖好多一片红啊。别急。如果你正在使用CocoaPods,你同样也需要更新Pods 项目的设置,以保证其Swift 和provisioning 的设置是正确的。 Pods target的设置我们可以在podfile文件中添加依赖设置

post_install do |installer| installer.pods_project.build_configurations.each do |config| # Configure Pod targets for Xcode 8compatibility config.build_settings['SWIFT_VERSION']= '2.3' config.build_settings['PROVISIONING_PROFILE_SPECIFIER'] ='ABCDEFGHIJ/' config.build_settings['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] ='NO' endend

同样,记得把 ABCDEFGHIJ 替换成你的团队ID。然后运行 pod install 来重新生成Pods 项目。

7. cocoapods 问题


KbUMi.png


Xcode7 升级Xcode8 遇到的问题以及决解方法。_第4张图片
120D04F3-9352-4DF5-86D0-61015B20C3B1.png

8. base SDK


确保选择 lastestiOS 他会根据xcode的变化自己变化iOS的系统环境。


Xcode7 升级Xcode8 遇到的问题以及决解方法。_第5张图片
无标题.png

最后可能遇到的问题以及解决办法

Xcode7 升级Xcode8 遇到的问题以及决解方法。_第6张图片
无标题.png

Xcode7 升级Xcode8 遇到的问题以及决解方法。_第7张图片
无标题.png

你可能感兴趣的:(Xcode7 升级Xcode8 遇到的问题以及决解方法。)