iOS react-native-code-push 应用程序在调试/发布模式下工作,但带有存档的 TestFlight 应用程序的白屏
Posted
技术标签:
【中文标题】iOS react-native-code-push 应用程序在调试/发布模式下工作,但带有存档的 TestFlight 应用程序的白屏【英文标题】:iOS react-native-code-push app working in debug / release mode but white screen with archived TestFlight app 【发布时间】:2018-07-21 09:24:53 【问题描述】:我正在尝试使用 Microsoft Code Push 更新 JS 包,而无需再次将应用程序提交到 iTunes。
在调试和发布模式下,应用可以通过代码推送成功加载捆绑包,并在下次启动时安装更新。
与调试/发布 Xcode 应用程序不同,当我将应用程序存档并从 TestFlight 安装它时,我在本机启动画面之后遇到了一个白色的空白屏幕。 App Center 中没有出现崩溃。
在添加 Code Push 支持之前我没有使用 Cocoapod,所以我不信任 Podfile,而且我在这方面完全是新手。
播客文件
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'MyApp' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for MyApp
pod 'yoga', path: '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
pod 'GLog', :podspec => '../node_modules/react-native/third-party-podspecs/GLog.podspec'
pod 'React', path: '../node_modules/react-native', subspecs: [
'DevSupport',
]
pod 'AppCenter/Crashes', '~> 1.7.1'
pod 'AppCenter/Analytics', '~> 1.7.1'
pod 'AppCenterReactNativeShared', '~> 1.6.0'
pod 'CodePush', :path => '../node_modules/react-native-code-push'
platform :ios, '9.0'
target 'MyAppTests' do
inherit! :search_paths
# Pods for testing
end
end
target 'MyApp-tvOS' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for MyApp-tvOS
target 'MyApp-tvOSTests' do
inherit! :search_paths
# Pods for testing
end
end
环境
react-native-code-push 版本:5.4.0 react-native 版本:0.53.3 iOS/android/Windows 版本:iOS 10.2 这是否会在调试版本或发布版本中重现?不,它运行良好 这是在模拟器上重现还是仅在物理设备上重现?在模拟器上效果很好【问题讨论】:
在看到您的 pod 文件时,您似乎有来自 AppCenter 的崩溃/分析,您在那里得到了什么吗? 很遗憾,应用中心没有出现崩溃。 你解决了这个@Al3 吗?我有一个类似的问题。在调试模式下一切正常。在发布模式下,启动屏幕后出现空白屏幕。但是屏幕上的图标和功能有效。我可以从白色主屏幕导航到其他屏幕,它们看起来很好。回家吧,白屏。 @mediaguru 类似的问题在这里。不确定是否相同,但在我的情况下,一切都在 sim 和设备调试中正常工作,但我的应用在存档构建中没有响应几分钟,然后才接受触摸。 这有什么更新吗?面临同样的白屏问题 Codepush - v6.2.0 RN - 0.61.5 【参考方案1】:我刚刚通过试飞版本解决了一个类似的问题。我能够使用 react-native run-ios 命令在本地将我的应用程序部署到我的设备并接收 codepush 更新,但是每当我发布 testflight 的构建时,该应用程序都没有收到更新。问题是我的 codepush 目标版本与 XCode 中的版本不匹配,您可以通过更改 General -> Identity -> Version 下的版本以匹配代码推送中的目标版本来解决此问题。或者您也可以在 CodePush 中更改已部署的目标版本以匹配 XCode 中的版本。
此外,您可以通过 -t 标志和版本号在部署命令中配置 codepush 目标版本。
appcenter codepush release-react -t '0.1.0' ...
【讨论】:
以上是关于iOS react-native-code-push 应用程序在调试/发布模式下工作,但带有存档的 TestFlight 应用程序的白屏的主要内容,如果未能解决你的问题,请参考以下文章