我在用
"react": "^16.12.0",
"react-native": "^0.61.5",
"react-native-camera": "^3.13.1",
我创建了一个新的 React-Native 项目,其中包含一个 Android 项目和一个 iOS 项目。我使用的是 Swift,因此我将AppDelegate.m和AppDelegate.h文件替换为AppDelegate.swift. 我在 swift 文件中使用DEBUG这样的宏,但即使在调试模式下它也始终设置为 false,因此我无法使用它。
#if DEBUG
let jsCodeLocation = RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index", fallbackResource:nil)
#else
let jsCodeLocation = Bundle.main.url(forResource: "main", withExtension: "jsbundle")
#endif
Run Code Online (Sandbox Code Playgroud)
debug我在 Xcode上搜索Build Settings,发现下面的内容似乎设置正确。
如何确保DEBUG在运行调试模式时设置宏,而不是在其他情况下设置宏。谢谢。
React-Native 调试器第一次运行得非常好。但后来,当我打开电脑并尝试运行当前项目时,调试器无法工作。我自己尝试了一切,但对这个问题感到非常沮丧。清理了好几次我的node模块,以为是node版本的问题,又安装了几个旧版本的node,但我的所有努力都白费了。最后,我在这里向所有反应原生专家寻求帮助。希望你能解决我的问题。
我在构建发布 React Native ios 时遇到问题,我尝试寻找许多示例,但全部失败。
这是错误消息:
Undefined symbols for architecture armv7:
"_RCTDefaultLogFunction", referenced from:
-[momsindonesiaTests testRendersWelcomeScreen] in momsindonesiaTests.o
"_RCTSharedApplication", referenced from:
-[momsindonesiaTests testRendersWelcomeScreen] in momsindonesiaTests.o
"_RCTSetLogFunction", referenced from:
-[momsindonesiaTests testRendersWelcomeScreen] in momsindonesiaTests.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我不知道如何再次解决这个错误,请帮我解决这个问题。
谢谢。
尝试学习 React Native 自定义本机 UI 组件。
// FridgeCameraViewManager.swift
import UIKit
@objc(FridgeCameraViewManager)
class FridgeCameraViewManager: RCTViewManager {
override func view() -> UIView! {
let label = UILabel()
label.text = "Swift Component"
label.textAlignment = .center
return label
}
@objc static override func requiresMainQueueSetup() -> Bool {
return false
}
}
Run Code Online (Sandbox Code Playgroud)
。
// FridgeCameraViewManager.h
#import <Foundation/Foundation.h>
#import "React/RCTViewManager.h"
@interface RCT_EXTERN_MODULE(FridgeCameraViewManager, RCTViewManager)
@end
Run Code Online (Sandbox Code Playgroud)
。
// FridgeCameraView.js
import {requireNativeComponent} from 'react-native';
const FridgeCameraView = requireNativeComponent('FridgeCameraView', null);
export default FridgeCameraView;
Run Code Online (Sandbox Code Playgroud)
当我尝试在 App.js 中的某处使用 FridgeCameraView 组件时,它仅在我使用 Xcode 构建并运行项目时才有效。否则,在更改某些内容时使用热重载,我会收到“不变违规:尝试注册两个具有相同名称的视图 …
ios react-native react-native-ios react-native-native-ui-component
我们遇到了一个特定的错误iOS/iPadOS,当 iPad 在屏幕上显示浮动(类似 iPhone)键盘(而不是固定键盘)时,该错误似乎会被触发。
我们的问题特定于 React Native 和KeyboardAvoidingView组件。当组件渲染并且键盘浮动时,KeyboardAvoidingView完全错误地计算了键盘所需的高度,并隐藏了大约 95% 的屏幕高度。
本身KeyboardAvoidingView似乎没有办法检测浮动键盘是否打开。
是否有一个特定的 API 可以用来检测此键盘模式,以便我们可以关闭它KeyboardAvoidingView?
键盘事件(keyboardWillShow、keyboardDidShow等)似乎没有返回任何具体线索。
应用程序.js:
import React, { Component } from 'react';
import {View,Text} from 'react-native';
import { createDrawerNavigator } from 'react-navigation-drawer';
import {createAppContainer} from 'react-navigation';
import Epics from './screens/tmp';
import Pager from './screens/Pager';
const DrawerNavigator = createDrawerNavigator({
Home: {screen: Epics},
Page: {screen: Pager}
},{initialRouteName: 'Home'});
const Stack = createAppContainer(DrawerNavigator);
export default class App extends Component {
render() {
return <Stack />;
}
}
Run Code Online (Sandbox Code Playgroud)
尝试通过自定义组件导航到屏幕:
import { ActivityIndicator, Image, StyleSheet, View, TouchableHighlight } from 'react-native';
import PropTypes from 'prop-types';
import React from 'react';
import …Run Code Online (Sandbox Code Playgroud) 我正在开发一个混合匹配应用程序,我们在其中的几个模块中使用 React Native 组件。在本例中,我有一个表格视图,我们在其中的一些单元格中添加了 RN 组件。
我能够在这些 React Native 组件中启用嵌套元素的可访问性,但在 UITableView 中添加时焦点顺序似乎不正确。
视图层次结构如下所示:
<E0>
<E1 accessible={true}>
<E11 accessible={true}>
<E12 accessible={true}>...
<E2 accessible={true}>
<E21 accessible={true}>
<E22 accessible={true}>...
Run Code Online (Sandbox Code Playgroud)
我期望焦点顺序为 E1 , E11, E12, E2 , E21, E22
但它按E1、E2 、E11、E12、E21、E22的顺序宣布 ,即先是父元素,然后是子元素
在 iOS 中,我们有accessibilityElements设置顺序的属性。有没有办法像React Native中那样设置焦点顺序,或者有其他方法可以实现这一点?
PS:当我在视图控制器中显示特定组件时,相同的组件按预期工作(即以正确的顺序宣布画外音)。
任何及时的帮助/有用的建议将不胜感激,因为我在这个问题上花了几天多的时间。
介绍
\n我用 制作了一个VOIP 拨号器应用程序react-native。我正在使用react-native-callkeep在接到电话时向用户显示默认的IOS呼叫屏幕(在后台和前台),并且我正在使用react-native-push-notification弹出本地通知当接到电话时。
问题
\n当我最小化应用程序(使用主页按钮)并且应用程序收到呼叫时,它不会显示本地通知或呼叫屏幕。\n但是,如果在最小化操作之后立即接到呼叫,则屏幕和通知出现。
\n对所发生情况的技术解释
\n阅读日志,我发现 IOS 在打印以下行时终止了我的应用程序后台处理:
\n15:08:23.085311-0300 symptomsd com.vmaxtelecom.vmaxfone: Foreground: false
此后,前景或背景都不起作用
\n代码解释
\n也许问题不在于react-native-callkeep或react-native-push-notification本身(因为它们按预期工作)。我认为这是 IOS 本身的问题。
\n我发现这个线程准确地定义了我身上发生的事情。
\n我启用的功能
\n\n我正在使用什么
\nreact-native version 0.61.5
Xcode version 11.5 (11E608c) on a MacOS 10.15.5 Catalina
IOS 13.4.1 on a Iphone 8
I\'m using a release version of my project (The debug …
react-native ×10
react-native-ios ×10
ios ×6
xcode ×3
objective-c ×2
reactjs ×2
android ×1
ipad ×1
javascript ×1
react-native-native-ui-component ×1
react-redux ×1
swift ×1