解决React Native,macOS Sierra,Xcode 8和Fastlane升级问题

苹果启动了她的最新操作系统。 Xcode已更新为8.0版,第二天所有开发人员都在其开发计算机上修复其工具问题。 听起来很家庭吧?

这篇小型博客文章描述了解决此问题的方法,因为您可能陷入了React Native应用程序的困境,并在整个互联网上搜索如何解决它:)。

修复React Native的_refreshControl编译错误

首先是将_refreshControl的引用固定为RCTScrollView.m (位于node_modules中的文件)中的refreshControl

Xcode 8中的基本SDK 9.3

通过从Apple Developers下载页面下载Xcode 7(需要使用Apple ID登录),可以放回9.3版本的iOS SDK(随Xcode 7一起提供)。

现在,将Xcode应用程序解压缩到某个位置,但不要覆盖现有的Xcode(/ Applications / Xcode)安装! 将正确的平台SDK(右键单击,显示软件包的内容)复制到磁盘上的安全位置,例如:/ Users / /Developer/sdks/9.3/iPhoneOS.platform

最后,在当前Xcode应用程序中对此目录进行符号链接:
sudo ln -s /用户/ /Developer/sdks/9.3/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9 3.sdk

选择9.3作为基本SDK

打开(如果已经打开Xcode,则需要重新启动)Xcode,转到项目的Build Settings,然后选择9.3。

使用Fastlane修复Xcode 8签名

最后,我们想修复我们的构建过程,使用Fastlane进行设置。 随着Xcode 8的发布,签名已更改,您必须手动设置“配置文件”(请勿打开“ 自动管理唱歌 ”)。

例如,您具有以下体育馆配置:

运行车道时,您可能会看到退出状态:65错误。 这是由Xcode 8设置中的无效签名引起的。

还要确保在项目文件中将所有PROVISIONING_PROFILE变量重命名为PROVISIONING_PROFILE_SPECIFIER

现在,在构建目标的“ 常规 ”选项卡中选择正确的“配置文件”:

此解决方法无法解决使用React Native进行应用程序更新期间发生的所有问题。 由于上面提到的多种可能的解决方案可以解决您的问题,因此,此博客文章仍然是有关Xcode 8更改签名过程以及如何使用Fastlane解决方案的一些有用信息。

如果还有其他与此问题相关的资源,请发表评论或与我联系(您可以在GitHub上找到我)。