小编Max*_*use的帖子

来自 React Native 的 Android App Bundle:您上传的 APK 或 Android App Bundle 的某些文件的签名信息无效或缺失

我正在尝试首次将应用发布到 Google Play 商店。我已选择加入 Google Play Signing。我知道我正在使用正确的密钥对 Android App Bundle 进行签名,因为当我使用另一个密钥上传时,控制台会告诉我使用具有特定 SHA1 标识符的另一个密钥上传。但是,当我使用正确的密钥上传时,出现此错误:

您上传的 APK 或 Android App Bundle 的某些文件的签名信息无效或缺失。

我正在使用 Android Studio 构建应用程序,如下所示:Build > Generate Signed Bundle / APK > Android App Bundle > 选择我的密钥库并输入密码 > 发布 > 完成

该应用程序是使用分离的 Expo / ExpoKit 构建的 React Native 应用程序。上传到 Apple App Store 工作正常,我只有 Play Store 有问题。我错过了什么?

更新 1:我现在从 Google Play 中完全删除了该应用程序并创建了一个新应用程序。难道不是选择在谷歌播放签署这个时间和上传签名的APK。还是一样的错误。

更新 2:尝试使用全新的密钥库和密钥。还是一样。

如果这在某种程度上很重要,这里是项目设置的概述: 项目概况

这是android/app/build.gradle

buildscript {
  repositories {
    google()
    maven { url 'https://maven.fabric.io/public' } …
Run Code Online (Sandbox Code Playgroud)

android android-studio react-native

12
推荐指数
1
解决办法
2587
查看次数

应用内购买:用户绑定购买上的“恢复购买”按钮

我目前正在我的 Swift 应用中实施应用内购买。该产品是一种非消耗品,可为用户激活一种高级版本。通常,对于非消耗品购买,您必须在您的应用中放置一个“恢复购买”按钮(强制)。但是,我的问题是:应用程序以及购买都是受用户限制的。因此,该应用程序的每个用户都必须在我们这里注册一个帐户。一旦用户购买了 IAP,该用户帐户就会在我们的服务器内部被标记为 Premium。例如,一旦他注销并登录到另一个帐户,购买就会“停用”,因为在登录过程中,应用程序从服务器获取信息,无论用户是否为高级用户。

所以基本上,如果我在我的应用程序中放置一个“恢复购买”按钮,它要么是无用的,因为一旦用户登录,购买就会被激活,或者该按钮可以让某人购买高级版一次,然后在无限数量的其他帐户上激活它,只需登录它们并“恢复购买”即可。

所以,问题是:在我的情况下,这个按钮是强制性的吗?我已经看到其他应用程序,尤其是基于订阅的应用程序也这样做。

in-app-purchase ios

7
推荐指数
1
解决办法
1888
查看次数

GitHub Actions:fastlane 匹配无法解密存储库

我目前正在尝试使用 GitHub Actions 为我们的 React Native 应用程序设置一个基本的测试运行器。我们在证书和整个部署中使用 fastlane,因此我们也期待在 GitHub Actions 上使用它。\n不过,我似乎无法获得 fastlane 匹配来解密我们的密钥存储库。这是我们目前的 GitHub 工作流程:

\n\n
name: Test app build\n\non:\n  pull_request:\n    branches:\n      - develop\n    types:\n      - opened\n      - reopened\n\njobs:\n  build:\n    name: Install dependencies, lint and build\n    runs-on: macOS-latest\n    strategy:\n      matrix:\n        destination: [\'platform=iOS Simulator,OS=13.1,name=iPhone 8\']\n        xcode: [\'/Applications/Xcode_11.1.app/Contents/Developer\']\n    steps:\n      - uses: actions/checkout@v1\n      - name: Install NPM packages\n        run: npm install\n      - name: Install pods\n        run: cd ios && pod install && cd ..\n      - name: Run ESLint\n        run: ./node_modules/.bin/eslint --ignore-path .gitignore .\n …
Run Code Online (Sandbox Code Playgroud)

github fastlane github-actions

6
推荐指数
1
解决办法
3963
查看次数

取消显示的视图控制器不起作用

我的项目中有一种复杂的模态segue设置。我试图解雇一个视图控制器另一个先前介绍的视图控制器。我正在使用此代码:

if(self.presentedViewController != nil){
    print(self.presentedViewController!)
    self.presentedViewController!.dismiss(animated: false)
    print(self.presentedViewController!)
}
Run Code Online (Sandbox Code Playgroud)

prints为那里进行调试。他们表明presentedViewController实际上并没有关闭。即使将其设置animated为false,当调用dismiss时,我仍会看到应用程序中出现了动画。但是,VC实际上并没有被解雇。有人知道解决方案吗?

ios swift

3
推荐指数
1
解决办法
4049
查看次数

iOS 应用内购买:价格与选定的 App Store Connect 等级不匹配

我最近将应用内购买集成到了一个项目中。我使用 React Native / Expo (EAS) 和expo-in-app-purchases. 它们工作得很好 - 但对于大多数人来说,价格与 App Store Connect 中所选的价格等级不匹配。\n我只有具有以下价格等级的消费品IAP(德国):

\n
    \n
  • 替代 A 级(App Store Connect:\xe2\x82\xac0.49 - 实际显示价格:\xe2\x82\xac0.49)
  • \n
  • 第 1 层(App Store Connect:\xe2\x82\xac0.99 - 实际显示价格:\xe2\x82\xac1.09)
  • \n
  • 第 2 层(App Store Connect:\xe2\x82\xac1.99 - 实际显示价格:\xe2\x82\xac2.29)
  • \n
  • 第 3 层(App Store Connect:\xe2\x82\xac2.99 - 实际显示价格:\xe2\x82\xac3.49)
  • \n
\n

正如您所看到的,StoreKit 仅正确报告了第一层(替代层 A)的价格。这不仅仅是一个显示错误:在沙盒中购买商品时,它还会在实际购买过程中显示错误的定价。

\n

过去有人经历过这种情况吗?我能做些什么?

\n

in-app-purchase ios react-native app-store-connect

2
推荐指数
1
解决办法
804
查看次数

HTML 表单提交后的 POST 数据为空,但请求类型为 POST

所以,我试图将一些数据从 HTML 表单发布到 PHP 脚本。这是我正在使用的表格:

<form style="border: 1px solid black; border-radius: 5px; padding: 10px;" action="order2.php" method="post">
  <div class="form-group">
    <label>Service Type</label>
    <select class="form-control" id="service">
      <?php
        $sql = "SELECT name FROM services ORDER BY name ASC";
          $statement = $mysqli->prepare($sql);
          $statement->execute();
          $statement->store_result();

          $result = get_result($statement);

          while($data = array_shift($result)) {
            echo('<option>'.$data['name'].'</option>');
          }
      ?>
    </select>
    <small id="serviceHelp" class="form-text text-muted"></small>
  </div>

  <div class="form-group">
    <label>Amount</label>
    <input type="number" class="form-control" id="amount" placeholder="1000">
    <small id="priceHelp" class="form-text text-muted"></small>
  </div>

  <div class="form-group">
    <label>Link</label>
    <input type="text" class="form-control" id="link" placeholder="">
    <small id="linkHelp" class="form-text text-muted"><strong>Warning</strong>! …
Run Code Online (Sandbox Code Playgroud)

html php

1
推荐指数
1
解决办法
778
查看次数