我正在尝试将我的 React Native EXPO 应用程序提交到 Google Play 商店以获得批准,但我收到此错误:
SDK Segment Analytics Android (com.segment.analytics.android:analytics) 4.9.4 收集个人或敏感数据,包括但可能不限于广告 ID、Android ID 标识符。持久性设备标识符不得链接到用户数据政策中所述的其他个人和敏感用户数据或可重置设备标识符。
由于此政策问题,您无法发布此版本。为了获得发布许可,您可以考虑迁移到另一个SDK;删除此 SDK;或者(如果您的 SDK 提供商提供)升级到此 SDK 的符合策略且不包含违规代码的版本。
根据您的SDK提供商提供的信息,您可以考虑升级到4.10.1。请咨询 SDK 提供商以获取更多信息。
所需操作:上传新的合规版本并停用不合规版本。
我是 React Native 的新手。请帮忙。
我现在做了很多研究,以找出React Native项目,CRNA和Expo项目之间的确切差异和权衡.
我的主要指导是这个
但是我仍然不明白我使用带有本机代码的ExpoKit与使用本机代码的普通React Native项目有什么(dis-)优势,除了我不能在普通的React Native项目中使用Expo API.
我知道当我在Expo开始一个项目时,我可以将它作为ExpoKit项目或React Native项目弹出.在两者中我都可以使用本机代码.在ExpoKit中,我仍然可以在普通的React Native项目中使用Expo API.
所以我的问题:
如果我可以在ExpoKit项目中使用本机代码和所有Expo API,那么使用react本机项目会有什么兴趣?在ExpoKit项目中,我仍然可以使用所有Expo API和所有React Native API,对吧?!
如果我安装expo,我可以在React Native项目中使用Expo API npm install --save expo吗?
React Native API和Expo API有什么区别?
我通过Expo创建了应用程序.我通过Application Loader上传了ipa,它被拒绝了,如下面的消息所示.问题是什么?
此捆绑包无效 - /Payload/ExpoKitApp.app/FacebookSDKStrings.bundle的Info.plist文件丢失或无法读取.
无效的包 - "/Payload/ExpoKitApp.app/FacebookSDKStrings.bundle"中的包不包含包可执行文件.
我最近开始在 Expo 中使用 TypeScript。我已经完成了所有的 linter/格式化程序集成,typescript-eslint所以我可以在编码过程中捕获大部分错误。为了检查代码是否编译,我npx tsc每隔一段时间运行一次并进行相应的修复。
我还没有完全理解的一件事是,即使存在大量编译错误,我的应用程序也能成功构建。我希望(并且更喜欢)看到每个编译错误的红屏错误,而不是成功构建应用程序,然后我会发现它。例如,
function square<T>(x: T): T {
  console.log(x.length); // error TS2339: Property 'length' does not exist on type 'T'.
  return x * x;
}
Run Code Online (Sandbox Code Playgroud)
是一个典型的 TypeScript 错误(我相信?)可以在编译时轻松检查。我希望它导致一个大的红屏错误和构建失败。
我对 TypeScript 很陌生,所以我可能遗漏了一些非常重要的东西。究竟是什么导致了这种宽大处理,有没有办法强制执行更严格的检查?
请帮我实现拉动刷新我的应用程序,我有点新的反应原生,谢谢.我不知道如何处理onRefresh和刷新.
class HomeScreen extends Component {
  state = { refreshing: false }
  _renderItem = ({ item }) => <ImageGrid item={item} />
  _handleRefresh = () => {
  };
  render() {
    const { data } = this.props;
    if (data.loading) {
      return (
        <Root>
          <Loading size="large" />
        </Root>
      )
    }
 return (
   <Root>
     <HomeHeader />
     <FlatList
       contentContainerStyle={{ alignSelf: 'stretch' }}
       data={data.getPosts}
       keyExtractor={item => item._id}
       renderItem={this._renderItem}
       numColumns={3}
       refreshing={this.state.refreshing}
       onRefresh={this._handleRefresh}
     />
   </Root>
  );
 }
}
export default graphql(GET_POSTS_QUERY)(HomeScreen);
Run Code Online (Sandbox Code Playgroud) 您好,我遇到了Expo React-Native问题。每当我尝试启动iOS模拟器时。我收到此错误:
Simulator is installed but is identified as 'com.apple.CoreSimulator.SimulatorTrampoline'; don't know what that is.
Simulator not installed. Please visit https://developer.apple.com/xcode/download/ to download Xcode and the iOS simulator. If you already have the latest version of Xcode installed, you may have to run the command `sudo xcode-select -s /Applications/Xcode.app`.Run Code Online (Sandbox Code Playgroud)
我的NPM版本是6.7.0 react-native-cli:2.0.1 react-native:0.57.1 Expo版本2.11.9
另外,我确保我在Xcode上的命令行工具已完美设置 Xcode CommandLineTools
最后,我也尝试运行命令 sudo xcode-select -s /Applications/Xcode.app
什么都没有
我想知道如何从嵌套在材料底部标签栏上的堆栈导航器内的特定屏幕隐藏底部标签栏
这是我的堆栈导航器代码
import React from 'react';
import { createStackNavigator } from '@react-navigation/stack';
import PondScreen from '../screens/PondScreen/PondScreen';
import PondDetailScreen from '../screens/PondScreen/PondDetailScreen';
const Stack = createStackNavigator();
export function PondStack() {
  return (
    <Stack.Navigator
      initialRouteName="PondScreen"
      headerMode="none"
      mode="card"
    >
      <Stack.Screen
        name="PondScreen"
        component={PondScreen}
      />
      <Stack.Screen
        name="PondDetailScreen"
        component={PondDetailScreen}
        options={{
          tabBarVisible: false
        }}
      />
    </Stack.Navigator>
  );
}
Run Code Online (Sandbox Code Playgroud)
这是我的材料底部选项卡导航器的代码
import React from 'react';
import { View } from 'react-native';
import { createMaterialBottomTabNavigator } from '@react-navigation/material-bottom-tabs';
import { Entypo, Feather } from '@expo/vector-icons';
import { PondStack } from './StackNavigators'; …Run Code Online (Sandbox Code Playgroud) 我只是想在 Google Play 商店上部署一个应用程序并收到此错误。
如何将我的目标 api 更改为 31。我知道它需要在build.gradle下面的文件中进行更改android/
这是我的:
ext {
        buildToolsVersion = "29.0.3"
        minSdkVersion = 21
        compileSdkVersion = 31
        targetSdkVersion = 30
    }
Run Code Online (Sandbox Code Playgroud)
Expo 有一种方法可以使用构建属性通过我的 app.config.js 添加它
我的问题是我要把它改成什么?
当我尝试执行npm start时,它可以正常工作,但是当我尝试通过expo运行我的应用程序时,该过程将持续到100%,然后再没有任何反应。我没有得到那儿的确切问题。我在package.json中有以下内容。...请帮助我解决此问题。
{
  "name": "ProMeeting",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "jest-expo": "~29.0.0",
    "react-native-scripts": "^1.14.0",
    "react-test-renderer": "16.3.1"
  },
  "main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
  "scripts": {
    "start": "react-native-scripts start",
    "eject": "react-native-scripts eject",
    "android": "react-native-scripts android",
    "ios": "react-native-scripts ios",
    "test": "jest"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@babel/preset-react": "^7.0.0-beta.56",
    "expo": "^29.0.0",
    "firebase": "^5.3.1",
    "native-base": "^2.7.2",
    "react": "16.3.1",
    "react-native": "^0.55.4",
    "react-native-firebase": "^4.3.8",
    "react-native-vector-icons": "^5.0.0",
    "react-navigation": "^2.11.2"
  }
}
Run Code Online (Sandbox Code Playgroud) expo ×10
react-native ×10
reactjs ×4
javascript ×3
android ×2
firebase ×1
google-play ×1
npm ×1
typescript ×1