我正在尝试首次将应用发布到 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) 我目前正在我的 Swift 应用中实施应用内购买。该产品是一种非消耗品,可为用户激活一种高级版本。通常,对于非消耗品购买,您必须在您的应用中放置一个“恢复购买”按钮(强制)。但是,我的问题是:应用程序以及购买都是受用户限制的。因此,该应用程序的每个用户都必须在我们这里注册一个帐户。一旦用户购买了 IAP,该用户帐户就会在我们的服务器内部被标记为 Premium。例如,一旦他注销并登录到另一个帐户,购买就会“停用”,因为在登录过程中,应用程序从服务器获取信息,无论用户是否为高级用户。
所以基本上,如果我在我的应用程序中放置一个“恢复购买”按钮,它要么是无用的,因为一旦用户登录,购买就会被激活,或者该按钮可以让某人购买高级版一次,然后在无限数量的其他帐户上激活它,只需登录它们并“恢复购买”即可。
所以,问题是:在我的情况下,这个按钮是强制性的吗?我已经看到其他应用程序,尤其是基于订阅的应用程序也这样做。
我目前正在尝试使用 GitHub Actions 为我们的 React Native 应用程序设置一个基本的测试运行器。我们在证书和整个部署中使用 fastlane,因此我们也期待在 GitHub Actions 上使用它。\n不过,我似乎无法获得 fastlane 匹配来解密我们的密钥存储库。这是我们目前的 GitHub 工作流程:
\n\nname: 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) 我的项目中有一种复杂的模态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实际上并没有被解雇。有人知道解决方案吗?
我最近将应用内购买集成到了一个项目中。我使用 React Native / Expo (EAS) 和expo-in-app-purchases. 它们工作得很好 - 但对于大多数人来说,价格与 App Store Connect 中所选的价格等级不匹配。\n我只有具有以下价格等级的消费品IAP(德国):
正如您所看到的,StoreKit 仅正确报告了第一层(替代层 A)的价格。这不仅仅是一个显示错误:在沙盒中购买商品时,它还会在实际购买过程中显示错误的定价。
\n过去有人经历过这种情况吗?我能做些什么?
\n所以,我试图将一些数据从 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)