InAppPurchase 无效的产品标识符 - 可能的原因

2024-01-10

在我的应用内购买试验中,我花了一个漫长的夜晚来解决这个问题,但我似乎无法解决这个问题。我的产品标识符不断返回为“无效的产品标识符”。希望有人指出; (使用当前的配置文件和 appId,我可以使用推送通知)

  1. 我的应用程序 ID 已生成(不带通配符) - 已启用应用内购买

  2. 我的 IAP(应用内购买)已添加到“管理您的应用内购买”中并批准出售。

  3. 我的 IAP 是在 24 小时前添加的(可能是几个小时以上),并且处于“等待审核”状态

  4. 我的应用程序本身被开发人员拒绝>并且状态为“准备上传”,应用程序内购买已添加到应用程序中。

  5. 我的手机没有越狱(至少不再越狱,无论如何都不起作用)

  6. 我正在使用 3GS、5.1 iOS。

  7. 我当前的配置文件是“开发人员配置文件”而不是“分发配置文件”。 “分发配置文件”仅在上传应用程序二进制文件时使用。

  8. 我正在针对 iOS 5.0 进行构建,并将构建配置设置为“调试”。

  9. 从字面上看,我现在已经删除了该应用程序大约 100 次。

  10. 所有详细信息都在 iTunes Connect 中设置,包括银行详细信息。

  11. 我创建了一个测试用户,并从设备上的“设置 > 商店”登录。

  12. My SKProductRequest:

    SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"com.my_site.my_app.my_product"]];
    

可以提供任何其他信息。


我不知道如何,也不知道它是否仍然有效。但这是一个有趣的解决方案,它让我解决了我的问题。

根据文档,SKProductRequest 应该是;

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"com.my_site.my_app.my_product"]];

您的产品要求应该是这样的;

com.my_site.my_app.my_product

但在我的情况下,我只是发送了我的产品 ID,就像这样WORKED;

解决方案#1

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"my_product"]];

在深入研究的过程中,我发现这种表示法对某些人来说也有效。

解决方案#2

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObjects:@"com.my_site.my_app","my_product",nil]];

我的设置没有任何问题,应该提供上面列出的内容,如果有人遇到无效产品标识符的问题,我建议他们访问 Troy Brant 的“无效产品 ID 列表的原因”, here http://troybrant.net/blog/2010/01/invalid-product-ids/。您还可以找到有关实施和设置 IAP 的详细演练, here http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/.

如果您感到绝望,我强烈建议您尝试这两种解决方案,它们可以使您免于数小时的沮丧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

InAppPurchase 无效的产品标识符 - 可能的原因 的相关文章

  • insertNewObjectForEntityForName:

    我使用 Xcode xcdatamodel 文件编辑器设置了一个实体 我创建了一个名为 Person 的实体 添加了一些属性 然后生成了一个 m 文件来表示它 一切都很好 现在 当我去编写一行代码时 例如 Person person Per
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • PFQueryTableViewController 错误

    我正在遵循在线教程 使用 Parse 作为后端创建照片共享应用程序 我已经运行了两次教程 两次都从头开始创建应用程序 但在同一位置仍然出现相同的错误 我到处寻找解决方案 但仍然没有运气 我正在使用 PFQueryTableViewContr
  • 在发生更改事件时将货币格式重新应用到 UITextField

    我正在使用一个包含本地化货币值的 UITextField 我看过很多关于如何使用此功能的帖子 但我的问题是 如何在每次按键后将货币格式重新应用到 UITextField 我知道我可以通过以下方式设置和使用货币格式化程序 NSNumberFo
  • 当 isUserInteractionEnabled false 时,SKSpriteNode 不会让触摸通过

    我正在尝试在 SpriteKit 中创建一个覆盖层 方法是使用SKSpriteNode 但是 我希望触摸穿过覆盖层 所以我设置isUserInteractionEnabled为假 然而 当我这样做时 SKSpriteNode似乎仍然吸收所有
  • 如何使用 CNContacts 快速获取手机号码?

    我有一些代码可以检索用户联系人中的所有电话号码 但只想过滤掉手机号码 目前 我只是通过将第一个数字为 或第二个数字为 7 的数字添加到数组中来实现此目的 如下所示 func findContacts gt CNContact let key
  • 如何使用 alamofire 通过基本身份验证上传图像?

    我正在尝试使用 alamofire 4 7 1 和此代码上传图像 但说实话 我怀疑我没有编写正确的代码来上传图像 func uploadDefect defectRemark String defectLocation String def
  • 从未调用过交互式委托方法

    我想在 ViewController 1 和 NavigationViewController 2 之间进行交互式转换 NavigationController 通过按钮调用 因此呈现时没有交互转换 它可以通过按钮或 UIPanGestur
  • SwiftUI 意外地自动弹出 NavigationLink

    我有一个简单的用例 其中一个屏幕使用 NavigationLink 推送另一个屏幕 iOS 14 5 有一个奇怪的行为 即推送的屏幕在被推送后立即弹出 Code NavigationLink destination EmptyView Em
  • 有什么方法可以询问方法的名称吗?

    我正在尝试调试我正在开发的 iPhone 应用程序 向各种源文件添加 50 条 NSLog 语句的想法让我感到很兴奋 我想做的是写一对陈述 比如 NSString methodName self methodName NSLog metho
  • 在 iOS 7 中 viewForHeaderInSection 部分是从 1 开始而不是从 0 开始

    我正在处理UITableView在我的项目中 这个项目是在 Xcode 4 5 中创建的 现在我正在使用 Xcode 5 所以我的问题是何时在 iOS 6 中运行我的项目 viewForHeaderInSection方法部分从 0 开始没问
  • 如何在 iOS 13 中将 UISegmentedControl 的背景颜色设置为白色

    iOS 13 对 UISegmentedControl 进行了一些更改 包括切换所选片段时的非常漂亮的动画 但是我注意到它没有显示backgroundColor属性正确 它似乎总是有一点色彩 我见过回答如何设置的问题selectedSegm
  • 为什么选择选择器选项后我的 SwiftUI 页面标题会发生变化?

    struct SettingsView View let settings Setting Setting name Aperture Increments options 1 3 1 2 1 Setting name Shutter Sp
  • 未知异常和崩溃

    当我尝试快速滚动表格视图或从远程重新加载数据时 我的应用程序崩溃了 当我先进行远程获取然后滚动表格视图时 一切似乎都工作正常 我不知道下面的崩溃日志意味着什么 它只是有时工作正常 有时崩溃 Incident Identifier 710A1
  • AVAudioPlayer 无法从网站播放 m4a 或 mp3 文件类型

    我试图在我的应用程序中找到一个仅纯 m4a 声音的 URL 我有音频的 URL 理论上可以下载它 然后 使用下载的文件URL到声音 我尝试使用AVAudioPlayer播放它 但它不播放任何声音 这是我的代码 在 URL 检索函数中 我调用
  • 使用 UITabBarController 时覆盖整个屏幕的视图?

    我想在 UITabBarController 设置中在整个屏幕上覆盖 HUD 样式的透明图形 执行此操作的按钮位于第一个选项卡的屏幕 FirstViewController 中 并且覆盖层也应该覆盖选项卡 这可能吗 您可以将新视图直接附加到
  • 如何使用 IOS 12 在 UITableViewCell 中正确添加 UICollectionView

    由于某些原因 在使用 Xcode 10 beta 时 我无法正确显示 tableview 单元格内集合中的某些项目 在过去的四天里我尝试了我所知道的一切 我做了一个小项目样本来看看我的问题是什么 如果有人想在本地运行完整代码 请参见此处 h
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • 从现有坐标地图套件中查找最近的位置

    我正在为拥有多家商店的客户开发 iPhone 应用程序 目标 C 我有数组中所有商店 20 的坐标 纬度 长 目前我正在考虑循环遍历商店坐标数组并获取从用户当前位置到商店位置的距离 然后将它们添加到数组中并按最小距离进行排序 这是正确的方法
  • Mac 上的 Delphi - 可能吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我负责一个 Delphi Win32 项目管理应用程序 我刚刚完成了向 Delphi 2009 的迁移

随机推荐

  • 在 Javascript 和 AngularJS 中解析 CSV

    因此 我尝试创建一个基本的角度应用程序来解析一些 CSV 输入 并用解析的数据填充表格 你可以在这里看到我想要实现的目标 http plnkr co edit 6QFT4AcV4KpiSG23EdOS http plnkr co edit
  • 辅助功能:使用 aria-live 的页面加载器指示器

    Issue 我有一个正在努力解决的可访问性问题 我有一个有角度的网络应用程序 加载内容时会显示页面加载旋转器 指示器 当页面内容加载后 微调器将被隐藏 这个 div 永远不会从 DOM 中删除 当显示加载 div 时 不会读取加载 div
  • 是否可以在 Xcode 中打开 SpriteKit 的现场调试绘图?

    是否可以在 Xcode 中打开 SpriteKit 的现场调试绘图 我的意思是像下面的图片 来自 WWDC 2014 会议 608 将以下内容添加到您的视图控制器中 Swift skView showsFields true ObjC sk
  • 如何用值 X 替换子字符串 [ ]

    我在 Java 中有如下字符串 String Value You are my star dear 我只想更换 有价值X 下面尝试过 什么都没起作用 ReplaceAll X ReplaceAll X ReplaceAll X 替换方法有3
  • Fortran 错误 5082

    我对 Fortran 很陌生 我正在尝试编译这个 Fortran 我认为是 90 代码 我正在使用带有英特尔编译器的 Visual Studio 下面的代码给我一个错误 5082 我完全不知道为什么 就像字面上没有任何线索 拜托 请帮忙 i
  • 比 supertrait 具有更严格关联类型界限的特征

    我有一个简单的特征 其关联类型没有限制 trait Board type Move fn moves self gt Vec
  • 如何开启icc/icpc警告?

    我在Linux上安装了英特尔编译器composer xe 2013 sp1 3 174 我对国际刑事法院的警告感到困惑 使用简单的程序 main c 馈送 icc 如下所示 int main int argc char argv int a
  • 预计声明结束

    好的 我使用了一个建议运行良好的公式 应该没有问题 但现在我收到此错误 预计声明结束 这是公式 Range B4 FormulaR1C1 IF RC 1 T VLOOKUP RC 7 treatlookup 11 FALSE VLOOKUP
  • 使用 word2vec 的二元组向量表示

    我想使用 word2vec 工具构建文档的词嵌入 我知道如何找到与单个单词 一元组 相对应的向量嵌入 现在 我想找到二元组的向量 是否可以使用 word2vec 构建二元词嵌入 如果是 怎么办 以下代码片段将为您提供二元组的向量表示 请注意
  • 如何使用node-postgres设置模式

    我正在尝试查询名为的模式DOCUMENT在我的 postgres 数据库中使用节点 postgres https www npmjs com package pg 我似乎无法针对指定架构运行查询 该查询使用 psql 直接针对 postgr
  • ClassNotFoundException:org.slf4j.LoggerFactory

    我正在尝试运行 GWT RequestFactory 并遇到此错误 ClassNotFoundException org slf4j LoggerFactory 我已尝试下载slf4j api 1 3 1 jar但它没有解决问题 知道我需要
  • 如何在node.js中验证mongoose连接mongodb

    我已经使用命令创建了 mongodb 用户 use admin db createUser user superuser pwd 12345678 roles root 然后在我的应用程序中我尝试像这样连接猫鼬 var options us
  • C# 中字母的增量

    我正在将数据导出到Excel Using Open XML 现在我想增加字母表 就像columns A1 to B1 Z1 AA1 我已将 A1 分配给变量 并且我想将字母表增加到 B1 请提供任何可以将字母 A1 增加到 B1 Z1 AA
  • System.Net.WebRequest 支持哪些版本的 SSL/TLS?

    现在 SSL 3 已被发现容易受到POODLE http arstechnica com security 2014 10 ssl broken again in poodle attack 攻击 连接到任何 https Uri 时 Sys
  • phpRedis 迁移到集群和一致性哈希

    我们目前正在使用PhpRedis扩展 我们的代码是使用该类编写的Redis来自PhpRedis 但现在我们正在迁移到redis集群 是否可以使用Redis类连接redis集群 或者我们是否需要重新编写代码并使用 RedisArray 类 我
  • 从另一个数组顺序对一个数组进行排序?

    var listOne new string dog cat car apple var listTwo new string car apple 我需要的是按照 listTwo 中的项目顺序 如果存在 对 listOne 进行排序 所以新
  • 使用 matplotlib 箱线图中的传单颜色

    根据文档 https matplotlib org api as gen matplotlib axes Axes boxplot html matplotlib axes Axes boxplot the Axes boxplot函数需要
  • 来自多个工人的 Gunicorn 日志记录

    我有一个 Flask 应用程序 它在服务器上的多个 Gunicorn 同步进程中运行 并使用 TimedRotatingFileHandler 从每个工作人员的 Flask 应用程序内记录到文件 回想起来 这似乎不安全 有没有一种标准方法可
  • 直接在 jQuery 对象上定义实用函数有什么好处吗?

    直接在 jQuery 对象上定义实用程序函数是否有任何具体好处 例如 给定以下两个构造 someUtility function do some something with jQuery var someUtility function
  • InAppPurchase 无效的产品标识符 - 可能的原因

    在我的应用内购买试验中 我花了一个漫长的夜晚来解决这个问题 但我似乎无法解决这个问题 我的产品标识符不断返回为 无效的产品标识符 希望有人指出 使用当前的配置文件和 appId 我可以使用推送通知 我的应用程序 ID 已生成 不带通配符 已