问题标签 [storekit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2099 浏览

iphone - 您尝试购买的物品不再可用[环境:沙盒]

我正在尝试将应用内购买放入我的应用程序中。我已经设置了一个在沙盒环境中运行良好的消耗品。现在我刚刚制作了一个新价格层的非消耗品新产品,并删除了旧产品。使用新的产品 ID 更新我的代码。发送请求时,它会正确显示具有新添加价格层的正确产品,但是当您点击购买按钮时,它会给您错误“您尝试购买的商品不再可用 [环境:沙盒]”。任何的想法 ?

0 投票
1 回答
728 浏览

iphone - iPhone storekit 产品标识符

我正在尝试在 iPhone 3.1.3 上实现 StoreKit 并不断收到 invalidProductIdentifier 错误。

我的问题是以下两种方法中使用的productKey是否相同?

原因是因为我尝试了不同的 productIdentifiers 并且 SKProductsRequest 总是返回 invalidProductIdentifier 但 SKPayment 为我尝试的几乎所有 productIdentifier 返回 SKErrorUnknown 但有趣的是为@“com.companyName.productName.upgrade”返回 SKErrorPaymentInvalid (带有 companyName 和产品名称替换)。

任何帮助,将不胜感激。

0 投票
2 回答
1783 浏览

iphone - null productIdentifier AND invalidproductIdentifier(应用内购买)

我在 iTunes Connect 中注册并获准销售一种产品。我请求正确的产品 ID,但 SKProductsResponse 对象返回 null productIdentifier 和 null invalidproductIdentifier。

可能是什么问题呢?

  • 注册产品总数:1
  • 产品 ID 匹配:是
  • 清除购买:是的
  • 开发工具包:iOS4.0
  • 设备操作系统:iOS4.0 安装在 iPhone 3G 上
  • APPSTORE ACCOUNT:退出真实账户(创建测试账户)
  • 构建设置:在设备上进行开发和测试(对于所有说“使用 distrib 进行测试”的人来说,您应该如何在设备上测试 distrib?)
0 投票
3 回答
8956 浏览

iphone - StoreKit SKProducts请求崩溃

我使用以下代码根据应用内购买编程指南请求产品列表。它曾经在我的 iPhone 应用程序中运行良好,但现在每次请求产品列表时它都会崩溃。委托方法(void)productsRequest:(SKProductsRequest **)request didReceiveResponse:(SKProductsResponse **)response永远不会被调用。

正如我所说,它工作得很好,然后就停止了工作。这是调用上述代码时发生的崩溃。

我不知道是什么导致了 objc_msgSend 崩溃,或者它与 StoreKit 有什么关系。我也不知道我添加或更改了什么导致这个简单的代码停止工作。

0 投票
1 回答
3864 浏览

objective-c - [[SKPaymentQueue defaultQueue] restoreCompletedTransactions] 的取消事件

Apple 发布了 StoreKit,当用户输入他/她的电子邮件和密码时,我们甚至无法收到取消事件的任何回调:

此事件不应与取消购买时按取消相混淆。

我们感兴趣的事件是在尝试恢复事务时推送取消。

用户按下取消,甚至按下 OK 按钮,没有回调。

您获得的唯一回调是来自服务器的信息返回,表明它是否成功。不可接受。

0 投票
1 回答
2923 浏览

ios - SKProductsRequestDelegate 失败

SKProductsRequestDelegate 有一个方法:

通常,我发现这类代表会有几种方法来处理多个案例,而不仅仅是成功。例如:

如何检查此代码是否由于某种原因失败,例如。用户离线?

0 投票
3 回答
5721 浏览

iphone - 应用内购买 - 可以获取产品信息但无法连接到 iTunes 进行购买

我正在尝试让“应用内购买”在我的 iphone 应用中工作。

我在 iTunes Connect 中创建了一些产品和一些测试帐户。

我检索产品数据(价格等)没有问题,但是当我尝试付款时 - 我被要求登录 - 我使用测试帐户 -> 交易总是失败并出现以下错误:

failedTransaction 错误:错误域 = SKErrorDomain 代码 = 2 "Connexion à l'iTunes Store 不可能" UserInfo=0x65d02a0 {NSLocalizedDescription=Connexion à l'iTunes Store 不可能}

我尝试了几种产品和测试帐户(即使在像我们这样的其他商店),但我仍然得到同样的错误......

注意:我认为我第一次尝试时效果很好,但从来没有

欢迎任何想法!

谢谢

0 投票
1 回答
179 浏览

iphone - 购买但尚未下载时如何处理inApp订阅类型

我的 InApp 类型是订阅。

一旦我点击确定它总是打电话

如何处理它调用 completeTransaction ?

替代文字

0 投票
6 回答
9632 浏览

iphone - iPhone storekit 沙盒停止工作

由 Apple 报告的错误已修复,请参阅下面接受的答案...


更新星期一 8 月 23 日 10:00 GMT

尽管苹果的错误报告尚未关闭,但它现在似乎正在工作(至少对我们中的几个人来说)OK。可能是他们已经确定了,或者修复正在测试中,当(如果)我从 Apple 听到更多消息时,我会报告。


周五更新 8 月 20 日

只是说我收到了一封来自 Apple Engineering 的电子邮件(格林威治标准时间 21:20),他们说:

“感谢您报告此问题。我们知道此问题,目前正在修复。”

所以希望很快会有一个解决方案!


[更新到下面的问题。目前肯定存在storekit 沙盒问题。我已经看到 4 或 5 个其他人报告了同样的错误,但希望有更大的样本量!如果您有一个可以在沙箱中测试的 storekit 实现,如果您可以报告它是否适合您,那将不胜感激。我已将 Apple 的一个错误记录为错误 ID#8329461,但我不确定如何加速此问题,或者它是否真的是一个普遍存在的问题。]

我有一个正在开发的 iPhone storekit 实现。所有购买的物品都是消耗品,我们建立了多个测试账户。

今天突然间,我的序列开始了;

1) 向 Apple 索取产品列表...工作正常(因此可以连接到商店)

2)购买项目 - 正常获得“确认您的应用内购买”警报

3)(点击购买)

4a) 我的代码通过 - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 方法获得错误代码 2 和描述“无法连接到 iTunes 商店”的失败交易。

[[SKPaymentQueue defaultQueue] finishTransaction: transaction] 在这种情况下被调用。

4b) 用户收到警告“您已经购买但尚未下载”(从未使用此用户帐户在此设备上购买过)。

这发生在不同的设备和以前从未使用过的测试帐户上。我不知道我们的代码有任何更改。其他人可以确认 storekit 测试框架对他们正常工作吗?今天还有人有问题吗?

关于是什么导致这种奇怪的任何想法?“无法连接到 iTunes 商店”的消息似乎很奇怪,因为它显然可以用于检索产品 ID 和观察交易。

注意。我还注意到在商店中设置测试用户帐户已经改变——现在有更严格的密码要求等,所以我想知道苹果是否改变了可能导致问题的东西。

TIA罗杰

PS。在新设备上第一次尝试时,我收到“无法连接到 iTunes 商店稍后再试”的警报,但随后发生的情况是该设备认为它已经被购买,因此给出了有关再次下载的消息。

0 投票
1 回答
5728 浏览

ipad - iPad In App Purchase 失败并显示 SKErrorPaymentCancelled 和“无法连接到 iTunes Store”

可能重复:
iPhone storekit 沙箱停止工作。

你好。

我今天更新到 iPad iOS 的 3.2.2 版,我注意到我的应用内购买测试不起作用。
我正在使用一个测试帐户,直到现在一切都在工作(我们的应用程序自 6 月以来已经上线,并且真正的应用内购买工作有效),但今天我想用我一直使用的相同产品和测试用户进行测试购买和现在它不工作了。

问题如下:

  1. 我开始应用内购买。
  2. 确认购买并使用测试用户登录。
  3. 因为这是 App Store 通知我的非消耗品,我已经购买了它但尚未下载。
  4. 按确定。
  5. 到目前为止,交易观察者获得了一个交易状态为 SKPaymentTransactionStatePurchased 的交易,并且用户获得了他/她的应用程序功能。
  6. 但现在 transactionState 是 SKPaymentTransactionStateFailed 错误:

    错误域=SKErrorDomain 代码=2 UserInfo=0x2debe0“无法连接到 iTunes Store”

Code=2 表示 SKErrorPaymentCancelled。怎么回事?如果用户取消了交易,这应该发生,而不是真正的错误。这是非常具有误导性的。我不应该将此显示为错误,因为大多数情况下如果用户真的取消他/她的购买并且无法确定此错误是由用户还是由 App Store 引起的,则会调用此错误。

一切都设置正确,正如我提到的应用内购买测试有效并且我得到的产品是有效的。此外,我没有更改处理应用内购买的代码。

错误必须在 App Store 端的某个地方。

还有其他人有这个问题吗?

谢谢你。

更新

我在运行 iOS 4.0.2 的 iPhone(它是一个通用应用程序)上测试了该应用程序,错误如下所示:

错误域=SKErrorDomain 代码=0“无法连接到 iTunes Store”UserInfo=0x2620e0 {NSLocalizedDescription=无法连接到 iTunes Store}

Code=0 是 SKErrorUnknown,应用会向用户显示错误。
所以看起来 iOS 4.0.2 比 iOS 3.2.2 更好地处理了这个问题。