Apple отказалась от бинарного (2.3.1 - Производительность) после обновления до React Native 0.59 - PullRequest
6 голосов
/ 21 апреля 2019

У меня есть два приложения в разных учетных записях, отклоненные по теме 2.3.1 - Performance, после обновления до React Native 0.59.3. В этих приложениях ничего не изменилось, кроме обновления 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 Программный аккаунт. Ознакомьтесь с положениями и условиями разработчика Apple Запрограммируйте, чтобы узнать больше о нашей политике в отношении расторжения.

Если вы считаете, что ваше приложение соответствует обзору 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 Ответ

2 голосов
/ 24 апреля 2019

Мое приложение также было отклонено.Однако, ответив в центре разрешения проблем, я сказал, что не использую запутывающий код, и спросил подробности о причине отклонения.И вот так, я получил уведомление о том, что мое приложение находится на рассмотрении, и примерно через 10 секунд мое приложение было одобрено и выпущено :-)

Мне это кажется либо ошибкой на стороне Apple, либоон был запущен одной из популярных платформ, таких как AFNetworking, Realm и т. д. (где они используют NSStringFromSelector, NSStringFromClass и т. д.), но поскольку это был большой масштаб, и все объясняли использование таким же образом, приложения одобряются почти автоматически (но выдолжны ответить в центре разрешения, чтобы вызвать второй процесс рассмотрения).Надеюсь, это поможет.

...