Tag: 在应用程序购买

在应用程序购买自动更新内容提示用户共享信息

我添加了通过iOS SDK的StoreKit API购买自动更新内容的function。 在我的iOS设备的沙箱中进行testing时,同意购买后在警报中会显示以下消息: 分享您的信息? [app name here]的发布者希望根据他们的隐私政策使用您的姓名,电子邮件和邮政编码。 使用“不允许”和“允许”button 我不想/需要这些信息,也不想通过提示来惹恼我的用户。 但是,我不知道如何禁用此提示收集私人信息。 任何提示都表示赞赏!

在StoreKit / In-App Purchase中区分初始购买和免费“重新购买”

从StoreKit指南: 如果用户试图购买他们已经购买的非消费品或可更新的订阅,那么您的应用程序会收到该项目的正常交易,而不是恢复交易。 但是,用户不会再为该产品付费。 您的应用程序应将这些交易视为与原始交易的交易完全相同。 这在我正在工作的应用程序中提出了一个巨大的问题。 我们已经通过应用程序内购买从发布商许可了大量内容供销售。 他们要求我们每次出售这些内容(即用户付款)时,我们的服务器会在其服务器上调用一个API来报告交易。 这是为了会计目的,并最终根据我们与他们达成的协议,最终用来确定我们在月底支付多less钱。 我已经阅读了几个关于SO和其他地方的build议,关于比较频繁地调用restoreCompletedTransactions,并且在设备上保持了用户已经购买了什么的本地理解,因此他们不能再被购买。 这对我来说似乎是应该能够在服务器端实现的东西。 但是,我们从Apple服务器获取的收据与StoreKit指南所承诺的购买和重新购买完全一样。 如果在这种情况下(即“您已经付款”和“您没有收到付款”),StoreKit的支付回拨无法作为有效的会计机制进行信任,那么还有什么其他的实时交易stream量见解? 我认为,如果我们告诉他们我们必须在本月底之后等待45天才能从iTunes Connect中获得REAL付款金额,我们认为我们正在与之合作的发行商会很高兴。

在应用程序购买用户取消tx而应用程序在后台:TX州继续采购

我有一些奇怪的行为,用户取消在应用程序购买(沙箱环境),而应用程序在后台,用户尚未login到商店: 过程如下: 用户未login/应用程序ID未在“设置”>“存储”中设置 用户点击购买button。 这调用[[SKPaymentQueue defaultQueue] addPayment:payment]; 用户立即preses主页button(应用程序去背景) Storekitpopup窗口出现要求确认购买。 用户取消 应用程序再次激活,并期望收到- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions ,但没有。 德克萨斯州仍在进行国家采购。 如果testuser已经login到商店,则此过程是不同的。 在这种情况下,上述过程按预期工作。 另一点评论 :经过上述步骤,我实际上购买了另一个应用程序内的项目(包括login到应用程序)。 在此之后,我发送应用程序到后台并重新激活它,它将处理错误的取消交易。 结论:当应用程序处于后台并且未login到商店时,用户取消付款tx会导致延迟交付storekitcallback。 在用户实际login到appstore之后完成交付,并且通过重新激活应用程序触发PaymentQueue进程。 这种行为似乎是错误的,如果真的是这样的真实环境中 ,我可能会认为这是一个Storekit的错误。 有人经历过相同的行为,或可以指示某些东西,以防止在采购状态“悬挂”? 谢谢你,马库斯

在应用程序还原工作正常debugging,但在iOS SDK的AdHoc崩溃

点击恢复button(AdHoc版本)时,我的应用程序崩溃,但相同的应用程序在debugging模式下工作正常。 我的代码: [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 崩溃报告: Nov 6 23:19:04 LHD-iPod5 backupd[1815] <Warning>: INFO: Account changed (enabled=0, accountID=(null)) Nov 6 23:19:04 LHD-iPod5 kernel[0] <Debug>: AppleKeyStore: operation failed (pid: 1815 sel: 23 ret: e00002f0) Nov 6 23:19:04 LHD-iPod5 profiled[1816] <Notice>: (Note ) profiled: Service starting… Nov 6 23:19:04 LHD-iPod5 itunesstored[90] <Warning>: Could not load library [22] Nov […]

无法从iOS 7的App Store收据中获取original_application_version

我正在尝试从现有客户实现从付费到免费增值模式的无缝转换,但在收到original_application_version时出现问题。 我的应用程序仅适用于iOS 7,正如您所知,Apple在iOS 7中引入了Unified Receipt,如前所述,该应用程序应包含有关用户原始购买的信息。 所以我的想法如下:1.解码收据。 2.检查原购买是否在这个新的免费增值版本之前。 3.如果是 – 解锁所有的IAP。 如文档中所述,收据应具有此“原始应用程序版本”字段(“最初购买的应用程序的版本”)。 还有人说:“在沙箱环境中,这个字段的值总是”1.0“。” 但由于某种原因,我不是这种情况。 所以,我的问题是:有没有人有运气得到这个价值? 我尝试使用DHAppleReceiptParser( https://github.com/DarkHorseComics/DHAppleReceiptParser )和RMStore( https://github.com/robotmedia/RMStore )来parsing收据,两者都给我这个字段的空值。 我也在ASN.1字段types19中寻找这个值,也许有另一个字段可以用于我的目的?

iOS恢复应用程序购买与收据

下面的摘录是从苹果文件如何恢复在iOS 7的应用程序购买。他们说,你可以存储收据,以后找出他们已经买了什么,或者你可以刷新应用程序收据。 我的问题是: 1)是否有一个应用程序收据或有多个单一的收据? 2)存储这些收据是否更有意义,而不是直接存储用户已经购买的function 3)如何检查我从刷新中得到的收据? 我所有的尝试parsing它失败了。 4)是否有框架已经有很多function(在iCloud上保存收据/购买产品,使购买更容易,处理下载,处理各种连接问题等)已经? 甚至可能支持远程服务器(和validation)。 我希望有人能帮助! 🙂 刷新应用程序收据 创build一个收据刷新请求,设置一个委托,并开始请求。 该请求支持在testing期间在各种状态下获取收据的可选属性,例如过期收据 – 有关详细信息,请参阅SKReceiptRefreshRequest的initWithReceiptProperties:方法的值。 request = [[SKReceiptRefreshRequest alloc] init]; request.delegate = self; [request start]; 刷新收据后,检查并交付添加的任何产品。

在应用程序购买(IAP)过程似乎是崩溃的应用程序启动我的用户之一

我一直在与我的应用程序的用户正在遇到崩溃后启动应用程序。 我们相信它必须在应用内购买过程中做些事情,但是我还没有能够诊断原因,所以我想我会把它带到这里(对于我所说的其他用户来说,事情似乎正在工作正好)。 回到有问题的用户,她说,自从她购买IAP以来,该应用程序在启动时崩溃。 在发生崩溃之后,设备会经常提示用户input她的用户名和密码(好像正在尝试再次购买)。 我们已经尝试重新安装应用程序,更新到iOS 7,更新应用程序本身…没有运气。 她很高兴给我发送一些崩溃日志,我在下面复制。 任何input将不胜感激! 我跟着Ray Wenderlich的iOS 6教程中的IAP(如果有帮助的话),除此之外,没有其他报告的问题,这让我想知道在购买过程中是否有什么问题。 Incident Identifier: 1E0C36A9-C7EC-48D7-9BB8-D56F6203D62E CrashReporter Key: 2ac3185fb0d2c64d11247cccfa4a55af32fd5462 Hardware Model: iPhone4,1 Process: MetricMe [9322] Path: /var/mobile/Applications/847DC898-FD57-40F5-98F2-6C361DC7DECC/MetricMe.app/MetricMe Identifier: com.anthonydubis.metricme Version: 3.0.5 (3.0.5) Code Type: ARM (Native) Parent Process: launchd [1] Date/Time: 2013-10-04 13:48:13.129 -0400 OS Version: iOS 7.0.2 (11A501) Report Version: 104 Exception Type: EXC_CRASH (SIGABRT) Exception […]

在应用程序内购买

在“ App Store评论指南”中,在“使用IAP购买在实际应用之外使用的实体商品或商品和服务的应用程序将被拒绝。 同样参考App Store Review Guide 11.12中引用的iOS开发者计划许可协议 ,我可以在附件2的第1节1.11中看到:“您不能使用In App Purchase API来提供商品或服务,你的申请。” 1 /根据我理解的应用程序中没有使用的所有内容,例如纸质书籍,食品交付,机票等电子订购,不能通过In App Purchase机制来完成。 在电子书,videostream,audiostream,新游戏级别等应用程序中使用的所有内容(当提供的内容符合App Store评论准则和iOS开发人员计划许可协议时),用户需要为此付费内容,则必须使用IAP,或者可以将其作为11.3中所述的其他支付系统的选项。 2 /对于应用程序内购买,对于苹果的30%的费用没有任何限制,例如理论上如果内容是以10万美元收费,苹果则是3万美元。 我的假设是否正确? BR STeN

在iPhone上的应用程序购买不可再生订阅types的新拒绝吗?

我有一个Iphone应用程序,我试图实现不可再生订阅。我做了这样一个方式,在购买后,我将这些细节添加到用户帐户信息,所以他可以在所有设备上获得它。我有一个login在我的应用程序开始。而且在将收据数据与用户帐户相关联之后,我从收款数据中的购买date中找出服务器中的到期date,通过使用该信息,我再次向我的用户显示购买button但苹果因为这个原因拒绝了它 11.6:使用IAP的内容订阅必须持续至less7天,并且可以从所有iOS设备向用户提供 17.2:要求用户共享个人信息(例如电子邮件地址和出生date)以便运行的应用程序将被拒绝 任何人都可以知道实施不可更新订阅的确切机制吗?

如何在iOS上解压缩.zip文件?

StoreKit下载IAP内容包后,它会返回一个NSURL,如下所示: 文件://localhost/private/var/mobile/Applications/45EF2B3A-3CAB-5A44-4B4A-631A122A4299/Library/Caches/BA32BC55-55DD-3AA4-B4AC-C2A456622229.zip/ 尽pipe我发现所有的消息来源都声称StoreKit在下载之后解压缩了内容包,但是却让我知道了一个ZIP文件。 这个ZIP可能包含内容包的文件结构。 但是,我如何解压缩?