在升级到React Native 0.59之后,Apple拒绝了二进制文件(2.3.1-Performance)

时间:2019-04-21 13:13:32

标签: react-native app-store

在升级到React Native 0.59.3之后,我有两个应用程序使用不同的帐户,在主题2.3.1 - Performance下被拒绝。除了RN升级,此应用程序中没有任何更改。

但是,两个应用程序都没有使用混淆代码,选择器修饰或旨在颠覆应用程序审查过程的功能。两者都是可以根据API数据自然更改其内容的应用程序,就像Facebook,Twitter,Instagram等许多其他应用程序一样。

两者都是使用react-native init创建并在1年前发布的针对Android和iOS的简单应用。我们没有使用codepush,测试A / B或其他技术来更改运行时的应用行为。

有人遭受相同的拒绝或有解决此问题的提示吗?

Apple拒绝消息:

  

准则2.3.1-性能

     

我们发现您的应用包含混淆的代码,选择器   修改或旨在颠覆“应用审核”流程的功能   经App Store批准后更改此应用程序的概念。

     

此应用的下一次提交可能需要更长的审核时间,并且   在此问题之前,此应用将不具备获得快速审核的资格   已解决。

     

后续步骤

     
      
  • 查看“ App Store审核指南”的“性能”部分。
  •   
  • 确保您的应用符合App Store审查指南的所有部分以及Apple Developer的条款和条件   程序。
  •   
  • 一旦您的应用程序完全合规,请重新提交您的应用程序以供审核。
  •   
     

提交旨在误导或伤害客户或逃避   审核过程可能会导致您的Apple Developer终止   计划帐户。查看Apple Developer的条款和条件   计划以了解有关我们终止政策的更多信息。

     

如果您认为自己的应用符合《 App Store评论》   准则,您可以提出上诉。或者,您可以提供   通过直接回复此应用有关您的应用的其他详细信息   消息。

package.json的

应用A:

{
  "name": "app A",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "@react-native-community/async-storage": "1.2.2",
    "@react-native-community/netinfo": "1.4.1",
    "@remobile/react-native-action-sheet": "1.0.2",
    "eureka-rn-components": "git+file:../gileade-eureka-rn-components#02c50a043070648205def50940c1282d2b749c89",
    "functional-masks": "git+https://github.com/ktabriga/functional-masks.git#d5f5f01fe6731fc1c0879b8afb8f239591a2f984",
    "lodash": "4.17.2",
    "moment": "2.16.0",
    "normalizr": "3.1.0",
    "numeral": "1.5.3",
    "prop-types": "15.6.2",
    "ramda": "0.23.0",
    "react": "16.8.3",
    "react-native": "0.59.3",
    "react-native-action-button": "2.6.2",
    "react-native-autocomplete-input": "3.6.0",
    "react-native-datepicker": "1.6.0",
    "react-native-deprecated-custom-components": "0.1.2",
    "react-native-device-info": "0.25.1",
    "react-native-dropdownalert": "3.9.1",
    "react-native-elements": "0.18.0",
    "react-native-fcm": "13.3.3",
    "react-native-global-props": "1.1.1",
    "react-native-image-crop-picker": "0.18.2",
    "react-native-infinite-scroll-view": "0.4.5",
    "react-native-masked-text": "1.5.2",
    "react-native-modal-selector": "1.0.2",
    "react-native-permissions": "1.1.1",
    "react-native-progress-circle": "2.0.1",
    "react-native-side-menu": "1.1.3",
    "react-native-simple-modal": "6.0.0",
    "react-native-swiper": "1.5.5",
    "react-native-vector-icons": "6.2.0",
    "react-redux": "4.4.6",
    "redux": "3.6.0",
    "redux-logger": "2.7.4",
    "redux-persist": "4.0.0-beta1",
    "redux-promise-middleware": "4.1.0",
    "redux-thunk": "2.1.0",
    "reselect": "2.5.4",
    "string-mask": "0.3.0",
    "url-join": "4.0.0"
  },
  "jest": {
    "preset": "jest-react-native"
  },
  "devDependencies": {
    "@babel/core": "7.4.0",
    "@babel/runtime": "7.4.2",
    "@react-native-community/eslint-config": "0.0.3",
    "babel-jest": "24.5.0",
    "eslint": "5.16.0",
    "jest": "24.5.0",
    "metro-react-native-babel-preset": "0.53.1",
    "react-test-renderer": "16.8.3"
  }
}

应用B:


{
    "name": "app B",
    "version": "0.0.1",
    "private": true,
    "scripts": {
        "start": "node node_modules/react-native/local-cli/cli.js start",
        "test": "jest",
        "lint": "eslint ."
    },
    "dependencies": {
        "@react-native-community/async-storage": "1.3.3",
        "axios": "0.18.0",
        "bluebird": "3.5.1",
        "jwt-decode": "2.2.0",
        "moment": "2.21.0",
        "prop-types": "15.6.1",
        "react": "16.8.3",
        "react-native": "0.59.3",
        "react-native-charts-wrapper": "0.4.2",
        "react-native-datepicker": "1.7.2",
        "react-native-device-info": "0.25.1",
        "react-native-elements": "0.19.0",
        "react-native-exit-app": "1.0.0",
        "react-native-fcm": "14.1.0",
        "react-native-keyboard-manager": "4.0.13-10",
        "react-native-simple-dialogs": "1.1.0",
        "react-native-splash-screen": "3.1.1",
        "react-native-vector-icons": "6.2.0",
        "react-navigation": "1.5.2",
        "vanilla-masker": "1.2.0",
        "wolfy87-eventemitter": "5.2.5"
    },
    "devDependencies": {
        "@babel/core": "7.4.0",
        "@babel/runtime": "7.4.2",
        "@react-native-community/eslint-config": "0.0.3",
        "babel-jest": "24.5.0",
        "babel-plugin-transform-remove-console": "6.9.0",
        "eslint": "5.16.0",
        "jest": "24.5.0",
        "metro-react-native-babel-preset": "0.53.1",
        "react-test-renderer": "16.8.3"
    },
    "jest": {
        "preset": "react-native"
    }
}

1 个答案:

答案 0 :(得分:2)

我的应用也被拒绝了。但是,在解决中心回复后,我说过我不会使用混淆代码,而是询问了拒绝原因的详细信息。就像这样,我收到一条通知,通知我我的应用程序正在审核中,大约10秒钟后,我的应用程序被批准并发布了:-)

在我看来,这似乎要么是苹果方面的错误,要么是由AFNetworking,Realm等流行框架之一(它们在其中使用NSStringFromSelector,NSStringFromClass等)触发的,但由于它规模很大,每个人都以几乎自动批准应用程序的方式来解释用法(但您必须在解决中心进行回复才能触发第二次审核过程)。希望这会有所帮助。