- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚使用 react-native upgrade
和更新助手将我的项目从 React Native 0.59.9
更新到 0.60.5
官方博文中提到。虽然我的项目已经有点“复杂”,因为它使用了一些库等,但似乎更新成功了。
但不幸的是,我的应用程序不再适用于 Test - Release
方案。在调试方案上,它可以正常工作。该版本也达到了“构建成功”状态,但是一旦应用程序启动,它就会因为“不存在捆绑 URL”错误而卡住(另请参见我随附的 Xcode 屏幕截图)。
到目前为止,我已经尝试了所有可以在 Internet 上找到的内容。重新安装 NPM 依赖项和 Pod;删除构建文件夹,更改 Info.plist
中的 NSAppTransportSecurity
,但是它不会解决问题。通过 TestFlight 部署的应用程序在启动时也会中断。
System:
OS: macOS 10.14.6
CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
Memory: 430.30 MB / 8.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.11.0 - ~/.nvm/versions/node/v10.11.0/bin/node
Yarn: 1.10.1 - /usr/local/bin/yarn
npm: 6.4.1 - ~/.nvm/versions/node/v10.11.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
Android SDK:
API Levels: 23, 26, 28, 29
Build Tools: 28.0.3, 29.0.0
System Images: android-29 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5522156
Xcode: 10.3/10G8 - /usr/bin/xcodebuild
npmPackages:
react: 16.9.0 => 16.9.0
react-native: 0.60.5 => 0.60.5
npmGlobalPackages:
react-native-cli: 2.0.1
node_modules
、ios/Pods
、ios/build
和 Podfile.lock
node_modules
并运行 pod install
Project.xcworkspace
目前这些是我的 Info.plist
、Podfile
和 package.json
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>Jobner</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>UIStatusBarHidden</key>
<true/>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Your location is required for searching jobs near you</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Your location is required for searching jobs near you</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>whatsapp</string>
</array>
</dict>
</plist>
platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
project 'Project',
'Prod - Debug' => :debug,
'Acc - Debug' => :debug,
'Test - Debug' => :debug,
'Prod - Release' => :release,
'Acc - Release' => :release,
'Test - Release' => :release
target 'Project' do
# Pods for Project
pod 'React', :path => '../node_modules/react-native/'
pod 'React-Core', :path => '../node_modules/react-native/React'
pod 'React-DevSupport', :path => '../node_modules/react-native/React'
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
target 'ProjectTests' do
inherit! :search_paths
# Pods for testing
end
use_native_modules!
end
{
"name": "project",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "react-native start",
"lint": "eslint --ext .jsx --ext .js src/",
"ios": "react-native run-ios --scheme \"Project - Test\" --configuration \"Test - Debug\"",
"android": "ENVFILE=.env.dev react-native run-android --variant=devDebug --appIdSuffix=dev",
"postinstall": "npx jetify"
},
"dependencies": {
"@aws-amplify/auth": "1.2.31",
"@aws-amplify/core": "1.1.0",
"@babel/polyfill": "7.4.4",
"@react-native-community/async-storage": "1.6.1",
"accounting": "0.4.1",
"amazon-cognito-identity-js": "3.0.15",
"cross-fetch": "3.0.4",
"dayjs": "1.8.15",
"iban": "0.0.12",
"prop-types": "15.7.2",
"qs": "6.7.0",
"react": "16.9.0",
"react-geocode": "0.1.2",
"react-native": "0.60.5",
"react-native-android-keyboard-adjust": "^1.2.0",
"react-native-bootsplash": "1.0.1",
"react-native-config": "luggit/react-native-config#master",
"react-native-datepicker": "1.7.2",
"react-native-device-info": "2.3.2",
"react-native-gesture-handler": "1.3.0",
"react-native-keyboard-aware-scroll-view": "0.9.1",
"react-native-keyboard-spacer": "^0.4.1",
"react-native-linear-gradient": "2.5.6",
"react-native-pdf": "5.1.4",
"react-native-svg": "9.8.4",
"react-navigation": "3.11.0",
"react-redux": "7.1.1",
"redux": "4.0.4",
"redux-devtools-extension": "2.13.8",
"redux-thunk": "2.3.0",
"reselect": "^4.0.0",
"rn-fetch-blob": "0.10.16",
"styled-components": "4.3.2"
},
"devDependencies": {
"@babel/core": "7.5.5",
"@babel/plugin-proposal-export-default-from": "7.5.2",
"@babel/plugin-proposal-export-namespace-from": "7.5.2",
"@babel/plugin-syntax-dynamic-import": "7.2.0",
"@babel/runtime": "7.5.5",
"babel-eslint": "10.0.2",
"babel-plugin-module-resolver": "3.2.0",
"babel-plugin-styled-components": "1.10.6",
"eslint": "^5.16.0",
"eslint-config-react-app": "^4.0.1",
"eslint-import-resolver-babel-module": "5.1.0",
"eslint-plugin-flowtype": "3.13.0",
"eslint-plugin-import": "2.18.2",
"eslint-plugin-jsx-a11y": "^6.2.1",
"eslint-plugin-react": "7.14.3",
"eslint-plugin-react-hooks": "1.6.1",
"eslint-plugin-react-native": "3.7.0",
"jetifier": "^1.6.4",
"metro-react-native-babel-preset": "0.56.0"
},
"xcodeSchemes": {
"Debug": [
"Test - Debug",
"Acc - Debug",
"Prod - Debug"
],
"Release": [
"Test - Release",
"Acc - Release",
"Prod - Release"
],
"projectDirectory": "ios",
"settings": {}
},
"rnpm": {
"assets": [
"./src/app/static/fonts/"
]
}
}
AppDelegate.m
应该链接到正确的包文件,对吗?这段代码在那里:
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}
(我也在 Github 上的 React Native 问题跟踪器中发布了这个问题/错误。)
我在 this Stack Overflow post 中找到了解决方案.按照这些步骤,您可以创建一个 main.jsbundle
和 assets
文件夹并将其添加到您的项目中。
react-native bundle --dev false --platform ios --entry-file index.js --bundle-output ios/main.jsbundle --assets-dest ./ios
main.jsbundle
和 assets
目录拖到您的项目中,将它们添加到 Xcode。虽然这感觉像是一个临时解决方案..我现在有两个 main.jsbundle
文件。我可以删除项目文件夹中的那个吗? assets
文件夹包含一些节点模块,我每次添加新模块并手动将 Assets 拖到我的项目根目录时是否都有此命令?
此外,当我通过 CI/CD (Bitrise) 构建它时,根目录中没有创建 main.jsbundle
,因为它在 .gitignore
中默认被忽略。所以我的 TestFlight 构建仍然失败。如何处理?
这里究竟发生了什么?
最佳答案
当你在 Release模式下运行时,你必须拥有离线的 main.js 包。如果它不存在,这个问题只会出现。它不是 0.60.5 版本,它甚至在您以前的版本中也会发生。所以要创建离线包,您需要在您提到的解决方案中执行第 1 步。从 0.60 版本开始,执行此步骤时会创建一个名为 assets 的文件夹。我不确定你为什么需要拖动,因为如果你自动执行第 1 步,它必须在 xcode 中建立索引。如果没有发生这种情况,您只需要在需要时拖动和复制项目。
因此,这不是一个临时解决方案,而是您需要遵循的解决方案来创建包含您所做的所有更改的 bundle 。它是 reactnative 中的强制性内容。
注意:请删除 js bundle 和 assets 文件夹,然后使用
重新创建它react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
关于ios - 升级到 React Native 0.60.5 iOS 发布版本后出现 "No bundle URL present"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57800341/
问题是,当用户回复彼此的帖子时,我必须这样做: margin-left:40px; 对于 1 级深度 react margin-left:80px; 对于 2 层深等 但是我想让 react div
我试图弄清楚如何将 React Router 与 React VR 连接起来。 首先,我应该使用 react-router dom/native ?目前尚不清楚,因为 React VR 构建在 Rea
我是 React 或一般编码背景的新手。我不确定这些陈述之间有什么区别 import * as react from 'react' 和 import react from 'react' 提前致谢!
我正在使用最新的稳定版本的 react、react-native、react-test-renderer、react-dom。 然而,react-native 依赖于 react@16.0.0-alp
是否 react 原生 应用程序开发可以通过软件架构实现,例如 MVC、MVP、MVVM ? 谢谢你。 最佳答案 是的。 React Native 只是你提到的那些软件设计模式中的“V”。如果你考虑其
您好我正在尝试在我的导航器右按钮中绑定(bind)一个功能, 但它给出了错误。 这是我的代码: import React, { Component } from 'react'; import Ico
我使用react native创建了一个应用程序,我正在尝试生成apk。在http://facebook.github.io/react-native/docs/signed-apk-android.
1 [我尝试将分页的 z-index 更改为 0,但没有成功] 这是我的codesandbox的链接:请检查最后一个选择下拉列表,它位于分页后面。 https://codesandbox.io/s/j
我注意到 React 可以这样导入: import * as React from 'react'; ...或者像这样: import React from 'react'; 第一个导入 react
我是 react-native 的新手。我正在使用 React Native Paper 为所有屏幕提供主题。我也在使用 react 导航堆栈导航器和抽屉导航器。首先,对于导航,论文主题在导航组件中不
我有一个使用 Ignite CLI 创建的 React Native 应用程序.我正在尝试将 TabNavigator 与 React Navigation 结合使用,但我似乎无法弄清楚如何将数据从一
我正在尝试在我的 React 应用程序中进行快照测试。我已经在使用 react-testing-library 进行一般的单元测试。然而,对于快照测试,我在网上看到了不同的方法,要么使用 react-
我正在使用 react-native 构建跨平台 native 应用程序,并使用 react-navigation 在屏幕之间导航和使用 redux 管理导航状态。当我嵌套导航器时会出现问题。 例如,
由于分页和 React Native Navigation,我面临着一种复杂的问题。 单击具有类别列表的抽屉,它们都将转到屏幕 问题陈述: 当我随机点击类别时,一切正常。但是,在分页过程中遇到问题。假
这是我的抽屉导航: const DashboardStack = StackNavigator({ Dashboard: { screen: Dashboard
尝试构建 react-native android 应用程序但出现以下错误 info Running jetifier to migrate libraries to AndroidX. You ca
我目前正在一个应用程序中实现 React Router v.4,我也在其中使用 Webpack 进行捆绑。在我的 webpack 配置中,我将 React、ReactDOM 和 React-route
我正在使用 React.children 渲染一些带有 react router 的子路由(对于某个主路由下的所有子路由。 这对我来说一直很好,但是我之前正在解构传递给 children 的 Prop
当我运行 React 应用程序时,它显示 export 'React'(导入为 'React')在 'react' 中找不到。所有页面错误 see image here . 最佳答案 根据图像中的错误
当我使用这个例子在我的应用程序上实现 Image-slider 时,我遇到了这个错误。 import React,{Component} from 'react' import {View,T
我是一名优秀的程序员,十分优秀!