美文网首页iOS开发常用Reports日常杂货铺
【iOS】苹果IAP(内购)中沙盒账号使用注意事项

【iOS】苹果IAP(内购)中沙盒账号使用注意事项

作者: 谦言忘语 | 来源:发表于2016-12-15 10:25 被阅读23938次

    目标

    • 沙盒账号的正确使用方式
    • 沙盒账号使用的注意事项

    1.沙盒账号是什么

    iOS应用里面用到了苹果应用内付费(IAP)功能,在项目上线前一定要进行功能测试。测试肯定是需要的,何况这个跟money有关。。。开发完成了之后,如何进行测试呢?难道我测试个内购功能要自己掏钱?就算是公司掏钱,但是苹果要吃掉3成的啊,想想如果是99刀的商品,点下购买的时候心里都有点发慌。。。
    苹果当然没这么坑了,测试内购,苹果提供了沙盒账号(也叫沙箱账号)的方式。这个沙箱账号其实是虚拟的AppleID,在开发者账号后台的iTune Connect上配置了之后就能使用沙盒账号测试内购,有了沙盒账号,就能体验一把土豪的感觉了,游戏钻石什么的随便充,反正不用我的钱。

    注意:你可以把沙盒账号看做是一个虚拟的AppleID,这个AppleID只有进行内购测试的功能。

    2.沙盒账号使用的前提

    • bundleID别搞错了,开发者账号、证书、bundleID要一致
    • 内购的商品ID,价格等相关信息已经录入到开发者后台了(不然那你买什么)
    • 开发者后台已经创建好沙盒测试账号了(下面我们会讲如何创建)
    • 你要有一部真机(iPhone或iPad都行,别用模拟器就好。而且不能是越狱机)
    • 如果你是第一次在这个开发者账号上集成内购功能,请先将iTune Connect上的税务协议都填写好,否则内购时会发现商品ID无效。

    税务协议的问题不少童鞋遇到了,可以参考这篇文章http://www.jianshu.com/u/62f0c72a2004

    3.沙盒账号创建

    登录苹果开发者后台--iTunes Connect--用户和职能--沙箱测试技术员,在这个界面你可以看到当前账号已经创建好的沙盒账号。

    沙箱测试技术员管理界面

    点击“+”进行创建


    创建沙盒账号 新创建的沙盒账号

    如图,我创建一个沙盒账号。具体信息:

    • 名字为test1
    • AppleID为jianshutest1@123.com(也就是上面填的电子邮件)
    • App Store地区为中国

    注意:

    • 电子邮件不能是别人已经注册过AppleID的邮箱
    • 电子邮箱可以是一个不存在电子邮箱(只要符合格式,随便写)
    • App Store 地区不要乱选。虽然随便哪个地区都可以用来测试(还没上线之前app并没有地区之分),但是在沙盒测试的时候,弹出的购买提示框会根据当前AppleID(沙盒账号)的地区显示语言的。

    4.沙盒账号使用流程

    • 1.在iPhone上安装测试包(必须是adhoc签名证书或者develop签名证书打的包,不能是从App Store上下载的)

    • 2.退出iPhone的App Store账号(因为我们需要使用沙盒账号登录)。

      • 操作方法一:打开App Store应用首页滑到最下方--选中AppleID--注销
      • 操作方法二:设置--iTunes Store与App Store--选中AppleID--注销

    这里只需要退出账号,退出之后,不需要在这里登录沙盒账号,因为你压根就登录不了。之前已经说过了,沙盒账号是一个假的AppleID账号,不能直接登录的。如果强行登陆,会出现以下报错提示:

    使用沙盒账号直接登录报错提示
    • 3.在测试包里面购买商品,系统会让你进行登录,这里我们点击“使用现有的AppleID”就可以输入刚才创建好的沙盒测试账号进行登录了。
    点击购买商品后出现登录窗口 输入沙盒账号密码进行登录
    • 4.输入账号之后,有可能会出现如下提示,点击确定之后会跳转到App Store,导致这次购买失败。没关系,我们再次回到测试包,然后购买商品就好
    跳转到App Store跳转店面的提示

    出现提示的原因:因为AppleID是分地区的。之前我们创建沙盒账号的时候就看到了,需要选择地区。App Store也是分地区的,对应的AppleID只能在App Store对应的地区进行下载和购买东西。我们刚才创建的jianshutest1@123.com这个账号的地区是中国,所以只能在中国店面登录。由于我之前的登录的账号越南的,所以此时AppStore店面是越南店面。所以我们这次登录,系统会跳转到AppStore应用将店面切换到中国。另外,App Store应用切换地区的时候,会报【Your request produced an error】。这个不需要管。

    • 5.点击购买商品之后,成功的话会出现相应提示。
    商品内容和价格展示窗口

    备注:我们在iTunes Connect上创建商品了之后,除了需要填商品ID,商品名称,商品描述,价格等之外,还要上传一张图片,图片就是上面这个界面。

    购买成功提示

    沙盒账号注意事项

    • BudleID,证书,商品ID等内容一致,才能进行接下来的储值测试(BundleID都不对,还玩什么)
    • 测试设备需要使用不越狱的真机(越狱机不能进行沙盒储值,模拟器也不能进行沙盒储值)
    • 沙盒账号是不能直接在App Store进行登录的,只能在点击了购买商品之后,在弹出的登录框进行登录。
    • 真实的AppleID不能在adhoc证书和develop证书打出来的包进行沙盒储值测试,所以在沙盒测试之前,需要退出真实的AppleID账号
    • 从App Store上面下载的包不能使用沙盒账号进行储值

    关于证书的问题:
    1.使用develop签名证书和adhoc签名证书打的ipa包,我把他们叫做测试包,测试包只能使用沙盒账号进行储值,不能使用真实的AppleID进行储值
    2.从App Store应用下载的包,我把他们叫做线上包,线上包只能使用真实的AppleID进行储值,不能使用沙盒账号进行储值

    另外唠叨一下:
    楼主平常上传包的时候是打包了ipa包之后,使用Xcode里面的Application Loader应用上传ipa包的。
    虽然很多人上传包使用的是appstore的签名证书,但是,其实使用adhoc的证书打包的ipa包也是可以正常上传并且送审上线的。我平常就是用adhoc的证书打包成ipa包,给测试妹子测试,测试完直接用这个包上传送审了。嘿嘿。

    谦言万语

    一些经验总结,不当之处敬请指正。写作不易,喜欢请点个赞=_=

    相关文章

      网友评论

      • MdWhat:大佬, 问个问题啊, 在沙盒账号测试时候是弹窗弹出来的, 但是ios11的内购是从下面弹出来的这种, 是上线之后就变成这种形式了吗? 还是需要哪里改动呢? 谢谢:relaxed:
        MdWhat:@谦言忘语 :+1: 大佬给力,非常感谢, 早点休息
        谦言忘语:@MdWhat 上线之后就变成从下面出来的。这个不需要管,我们控制不了
      • 小胖子_33cd:用沙盒账号测试内购的时候 购买的响应时间特别慢 是不是测试账号的原因? 线上环境不会也这么慢吧
        谦言忘语:我玩游戏充过几笔(公司的没有权限。。。),苹果的渣渣网络一直很慢的,反正没有支付宝快。
      • zeroskylian:楼主问个问题,就是我这边线上的版本有内购,开发版本调用内购,每次都弹出environment sandbox ,是不是用xcode 安装的就是沙盒环境,不能用生产环境
        zeroskylian:@谦言忘语 好的,谢谢
        谦言忘语:@zeroskylian 嗯,只要不是从APPstore下载安装的,都是沙盒储值
      • charleslxh:我也想问下博主,发布上线的时候,苹果那边是需要测试的,他们当然也走得是沙盒模式,所以他们其实是没有付钱的。那你们后台产生的这些流水账目不都是对不上的吗?
        谦言忘语:@charleslxh 审核服不计入对账的。
      • 捡书:内购是只需要测试沙盒环境就行了吗?我们的项目现在还没上线,但是他们想测试线上环境的内购。想看看钱会不会到账。这个能做到吗。
        谦言忘语:沙盒环境能成功的话,发布之后在正式环境一般也不会有什么问题的。
        但是线上发布之后,仍然需要测试下正式包是否能够成功。
        如果线上包还没有内购功能,那么你现在也只能在沙盒环境测试了。
      • 郝嗨森:应用上线后是不是购买的弹窗就自动变成正式的样式了,不会再出现[Environment:Sandbox]了吧
        谦言忘语:@这是我的昵称哈 是的
      • _YZG_:老哥,你拿测试的包上传App Store的话,环境不要改么
        谦言忘语:@_YZG_ 1.因为如果是沙盒账号储值的话,去正式环境验证,苹果会返回一个特殊的标识的,具体是什么忘记了。所以当苹果返回这个标识的时候,后端就知道了,就会去沙盒环境验证。
        2.我们的内购早就做好了,所以已经部署到线上。更新包的话直接在线上测的。
        在开发的时候使用绑hosts的方式测试的,跟ipa包没有关系。只是绑hosts之后后端的线上代码是测试环境的。
        _YZG_:@谦言忘语
        1、苹果验证那边先走正式环境验证,那为什么验证结果为沙盒账号储值?那后端是怎么去判断沙盒还是正式?
        2、你说你拿测试包上传App Store,那你们App测试的时候没有测试环境?
        谦言忘语:改什么环境?我这边没什么要改的。因为一直后端一直是线上的代码。沙盒储值的时候,苹果验证那边也是先走正式环境验证,验证结果为沙盒账号储值,然后后端会再走沙盒环境验证。
      • 636ccfc89aac:我在创建沙盒测试账号的时候 填完所有的信息苹果给了这么一个提示
        Unknown Errors while creating Sandbox Tester, Please check Error Log, email=18621608361@163.com
        大概意思是说发生了一个未知的错误,要我检查错误日志
        请问这是啥情况...
        湖畔迷途:@妹Show 密码写长点复杂点,大小写字母数字都加上。
        636ccfc89aac:@谦言忘语 邮箱的问题我试了 错误的和使用过的苹果都会给相应的提示 都填完了之后点击提交才提水这个 我再多试试别的办法吧 要是解决了我会再回复的~
        谦言忘语:不好意思,没见过这个提示。你可以试试别的邮箱,随便弄个不存在的邮箱也可以
      • 636ccfc89aac:我在进行测试的时候 内购付款弹出框只能用密码付款 无法用指纹付款 touchId相关的功能我都打开了 怎么才能使用指纹付款呢?
        636ccfc89aac:@谦言忘语 嗯 谢谢 我第一次做内购也还没试过上架后会是什么样
        谦言忘语:我一直都是用密码的,话说沙盒账号并没有见过苹果弹框提示指纹支付。但这个肯定不影响线上用户使用
      • 在没老之前:你好,这个沙箱测试账号和密码,要不要告诉苹果审核人员啊
        在没老之前:好的,谢谢
        谦言忘语:不需要的
      • Sky521:添加商品的时候,价格那一栏只能选择人民币等级吗?因为我这面向海外市场,国外用户支付的时候肯定是用的美元,怎么把价格定为美元呢?求教
        谦言忘语:价格是按照分级来设定的,每一级对应着多个国家的货币。比如1级是0.99美金,对应着人民币6块。具体显示的是什么,这个是根据当前用户的的AppleID设定的,我们控制不了。
      • Cocojiang:沙盒测试支付失败! 按照流程一步一步走的!
        Cocojiang:@谦言忘语 SKPaymentTransactionStateFailed
        Cocojiang:@谦言忘语 商品添加到列表成功 但是 购买失败!!!
        谦言忘语:@Cocojiang 。。。卡在哪一步了?
      • 90后的晨仔:您好请问,内购只能用发布证书测试吗?开发证书可以测试吗?
        90后的晨仔:@谦言忘语 那你有遇到过这种情况吗,就是开发证书里边内购那一项是绿色的标志,可是在xcode的Capabilities 中却没有这一下,然后我从发布证书切换到开发证书,xcode就会报错说“does not In-App Purchase capabilities.”这个错误
        谦言忘语:@屌丝爷霉儿 都可以的
      • fb69e982796d:楼主,多谢分享!
        现在我有一个问题,如果用户向自己的服务器验证的话,因为网络等原因,验证失败,您建议进行本地持久化,但是如果用户把app卸载了的话,那本地存储的也没有了,这样的情况对于购买就不能做验证了呗?
        谦言忘语:@披头五毛 不能。苹果对用户隐私这方向很看重的,很多牵涉到用户隐私的都是无法获取的。
        我们能做的就是拿着收据去苹果那里验证,然后苹果会返回这个订单的信息,但是订单信息里面是没有用户信息的。
        fb69e982796d:@谦言忘语 多谢楼主解惑!
        另外自己的服务器能从苹果的服务器拿到用户购买的商品列表吗?
        谦言忘语:这要看你是怎么持久化的了。如果直接存储到本地的话,写入到沙盒里面,那就丢了。但是如果放在keychain里面,那就还在
      • 飞鱼_all:大神们,有没有介绍退款流程的链接啊,给我发一份:kissing_heart:
      • Dreamhai:楼主,又遇到过支付后,订单验证失败么?项目的版本号是否必须与沙盒环境的版本号一致呢
      • 消失的北极熊:楼主帮帮忙!!!我的内购沙盒测试很正常,但是为什么上架后正常的账号就购买失败了,???
      • df7fa75b0524:博主你好,请问下App Store下载下来的包内购确实测试的账号来支付,是什么原因呢
      • 高高叔叔:兄弟个人的账号内购金额有做限制吗
      • WebbWang0323:你好。我用几个测试账号进行测试。注销掉之前的账号更换新账号,为什么时不时还会提示登陆之前的账号?
      • andy桐:楼主你好,我的app在审核的时候提示的是无法找到该商品,然后我自己调试,代码中的产品ID和我申请的产品ID是相同的,在ios11上无法购买,出现一直让输入用户名密码的问题,但是在ios10其他设备上就能正常支付,我按照你说的重新创建了一个账号,可以支付,但是退出后就又出现一直输入密码的问题,我改怎么办,求助大神
        谦言忘语:@andy桐 可能是送审的时候没勾选上商品项?或者直接申诉,苹果经常坑我们的
        andy桐:@谦言忘语 那我的申请的产品ID和代码中的申请的产品ID是一样的啊,为什么在审核那边提示没有找到该商品,我这里测试是能找到这个商品的,只是ios11上一直出现输入账户的问题
        谦言忘语:@andy桐 iOS11这个bug目前还没办法解决。但是并不是影响到线上的。你的问题应该不是iOS11造成的
      • 210d7a04b2b5:你好楼主仔细看了你的文章后想问你下,测试内购功能的话必须得ipa打包吗,还有就是你说的那个BudleID,证书,商品ID等内容一致是啥意思,要这三个都是一个字符串吗,我现在把那些信息都设置好了,内购条目与沙箱测试账号也添加好了,然后在代码中运行是提示没有找到该商品,什么弹出框都没有,请问我该怎么办啊
        谦言忘语:@iZj奋斗 建议看下这篇文章 IOS应用内购买(In-App Purchase)详细教程
        http://www.jianshu.com/p/8e36ca394fee
        210d7a04b2b5:@谦言忘语 哈哈谢谢你终于弹出东西了,我在Xcode里面添加了那个ios开发者账号,然后添加的设备,然后直接就可以运行了,所有的弹出框流程都对,也提示购买成功了,可是回调并没有成功,到最后出来这么一句话,if we're in the real pre-commit handler we can't actually add any new fences due to CA restriction,可是我在退出这个页面,在重新进入,每次都会调用那个购买成功的监听方法,给我打印出交易成功,楼主你遇到过吗,你的代码集成方面是怎么写的啊,有写文章吗
        谦言忘语:可以不需要。你可以直接用Xcode安装到手机上。而且,模拟器也可以跑到弹出系统的AppleID登录框那里。但你要跑完所有流程,必须安装到真机上才行。
        bundleID是iOS包的唯一标识符,描述文件和证书里面包含了bundleID,所以需要对应才能安装到手机上。至于商品ID,你在ITunes Connect上面创建了APP之后,必须要选中一个bundleID才行,可以说是ITunes Conenect上面的一个APP对应着一个BundleID,而你创建的商品是在ITunes Conenect上面APP中创建的,所以这个商品ID最后是跟你的BundleID是对应的。这样的话,如果你拿别人的商品ID来测,是不会有信息的
      • 爱生气的猪:楼主好,好文。想问一下,线上版本从接口关掉沙箱充值方式的入口,能通过苹果的验收测试嘛 ?
        谦言忘语:@爱生气的猪 。。。累加。不分沙盒和线上。都加上去
        爱生气的猪:就是我们的虚拟货币叫云点,如果我用SANDBOX购买了50个云点,那到在线上的版本里,我的云点就是50了; 如果线上再用APPLEID买20云点,那我们云点就是70; 你们是怎么控制这两种云点各自在自己的环境里正确展示的的呢?
        谦言忘语: 关掉沙箱充值入口?不太明白你的意思。苹果在审核的时候会使用沙盒账号储值的,所以要保证苹果审核时沙盒储值可用。至于线上包,本身就没有沙盒储值,只能用真实的AppleID储值
      • Hengry:https://sandbox.itunes.apple.com/verifyReceipt 这个链接是拿来怎么使用的呢?
        谦言忘语:@DevHank 二次验证,用户付款完成之后苹果会生成收据凭证,将这个凭证通过上面的地址进行验证。这个操作一般是服务器做的,在客户端做不安全。而已验证的地址有两个,你那个是沙盒环境下的
      • Hengry:沙箱购买虚拟金币,不需要绑定银行卡的吗?上线之后,应该是需要绑定银行卡,支付成功后。公司AppleID账号上绑定的银行卡会收到用户转入的钱的吧?
        谦言忘语:@DevHank 大概需要一天时间
        Hengry:@谦言忘语 苹果后台应该可以马上看到的吧
        谦言忘语:@DevHank 银行卡是财务弄的,所以不是很了解。话说不绑定银行卡的话,税务协议那里应该不行的,所以也就无法获取商品。上线之后,并不是用户支付完就会到账号绑定的银行卡,而是每隔一段时间苹果一起打入的,是一周还是一个月就不清楚了
      • b956b3cbf4e5:您好,我这边昨天测试和正式的内购全都获取不到产品信息!然后在itunes里面更新了一下税务信息,测试(ad-hoc,testflight)都可以了,但是app store的版本就是获取失败,一直为空!有什么好的解决办法吗?
        b956b3cbf4e5:@谦言忘语 一直就是那几个商品,1-2年了没动过
        谦言忘语:@梦里客乡 商品项已经过审了?
      • weicyNO_1:大神想请问一下。我新添加了一个内购项目。如果项目中想获取这个项目用不用再次提交新版本。现在版本中模拟器跑真实环境能请求到数据。appstore中下载的请求不到产品。是什么原因?必须提交新版本吗?如果必须提交新版本中,新版本中没有添加内狗项目是不是不用添加
        谦言忘语:@weicy00 先提交新版本到开发者后台。新的内购项目设置完成后,送审是可以在新版本的设置那里勾选上新内购项目的。当然,在内购项目的那个界面也可以直接勾选了将内购项目送审。
        weicyNO_1:当前应用没有用到热更新。您的意思是只有审核新内购项目通过后再提交新版本就行了吗?新版本提交时没有添加内购买项目的选项了。是不是不用选
        谦言忘语:@weicy00 添加内购项目需要提交新版本的送审的,苹果审核通过之后才能在正式包里面用。但是如果你可以热更添加新商品的话,只要过审了就可以用,不需要发布。也就是说,正式包使用新内购项目的前提是,商品项要过审。
      • IMKel:好文章,学习了,谢谢楼主
      • hansfeng:你好,请问下要调试内购,是必须要提交到AppStore审核才能进行吗?
        谦言忘语:@hansfeng 不需要
      • somesOne:你好,对于丢单的时候,你怎么处理的
        谦言忘语:@somesOne 是数组
        somesOne:@谦言忘语 嗯,存的时候是存数组吗 ?有可能丢单的信息比较多呢
        谦言忘语:所谓的丢单,就是用户已经储值成功,购买凭据已经有了,但是并没有发货。这里我们只处理一种情况。在准备请求服务器发货的过程中,网络错误或者其他原因,导致服务器并没有收到我们的发货请求,也就是没有收到购买凭证。这时候,我们会把相关信息缓存起来,等到下次用户购买的时候再次请求发货。至于我们已经把信息发给后端之后,由于服务器的问题导致的发货失败,一概不管,由服务器自行解决。
      • 那些年_75a3:支付总是返回SKErrorUnknown是为什么呢??
        Mr周190728: 有没有写的比较好的,给个链接,谢谢
        Mr周190728:请问一下,你熟悉正常的用AppID付费的内购流程吗? 我沙盒测试没问题,正式的不知道怎么弄.
        谦言忘语:不是很清楚。尝试以下方法:1.不要使用越狱机。2.重新创建沙盒账号进行测试,注意沙盒账号登录需要在APP里面登录,不要直接在系统设置或者App Store应用登录。参考链接:https://stackoverflow.com/questions/8110234/in-app-purchase-error-0
      • LANXF:写的非常不错~!!
        LANXF:@谦言忘语 已赞:smile:
        谦言忘语:@LANXF 兄弟有眼光。不如顺手点个赞鼓励下吧:smile:
      • 陈迪斯:我用沙盒账号测试购买成功,但是用我自己的Apple ID登录进去好点击购买却失败了。请问这和我的商品还没有通过苹果的审核有关系吗?
        陈迪斯:@谦言忘语 原来如此,谢谢!
        谦言忘语:@结构大师 真实的AppleID不能在adhoc证书和develop证书打出来的包进行沙盒储值测试,所以在沙盒测试之前,需要退出真实的AppleID账号。就是说,从APPstore下载下来的包才能用真实账号测试,其他的包需要用沙盒账号测试
      • 7b3342879e72: 楼主,请问沙盒测试账号可以添加多个吗?我添加第二个,会不会使第一个沙盒测试号作废呢?
      • myk:你好,我做的是充值卡充值的app,这个苹果也要我内购,可是不知道怎么设置测试
        7b3342879e72:楼主,请问沙盒测试账号可以添加多个吗?我添加第二个,会不会使第一个沙盒测试号作废呢?
        whiteking:这个解决了视频都没讲到的内容,详细,受教了:smiley:
        谦言忘语:我这篇文章只是讲使用沙盒账号进行测试的,前提是已经集成了内购的代码。可以看下这篇文章来集成内购功能。http://www.jianshu.com/p/8e36ca394fee:smile:
      • 白牛桑:感谢啊,刚刚在购买失败那里纠结了一上午,一看这篇文章就什么都解决了,谢谢
        谦言忘语::grin: 有用就好
      • 码了个农啵:楼主,你好,请问在测试的情况下,走到弹最后那个您已成功购买就算走完了内购流程了么? 还有就是关于内购的缓存拉取问题,是直接在苹果的服务器拉取还是从我们公司的服务器取比较好?还有就是在提交审核的时候是否是需要提供给苹果沙盒测试员的账号和密码? 问题比较急,还请楼下抽空解答一下,谢谢了
        谦言忘语:@码了个农啵 拉取产品信息确实是有点慢。不过还真没试过从服务器那边做。不是很清楚行不行,感觉应该不太可行。我们一向的流程是先去苹果那里拉取商品信息,苹果返回可以购买的话再继续下面的操作。这个拉取信息,应该是需要用户的AppleID信息的。
        码了个农啵:@谦言忘语 明白了,谢谢。拉取就是点击购买的时候请求从苹果那边获取产品信息的时候挺慢的,要4秒钟左右才会弹出第一个框,这个过程是否可以在服务器做比较快?
        谦言忘语:@码了个农啵 内购之后,系统弹出“成功购买”的提示时,会触发购买成功的回调,回调里面可以获取到相关信息,包括购买凭据。我这边是会将这个购买凭据发给服务器,让服务器去苹果那里验证这个凭据是否是真的,如果苹果返回信息是符合的,那就给这个用户发货。“缓存拉取”,不太明白是什么意思。审核的时候不需要提供沙盒账号,苹果有自己的账号的。
      • jacinzhang:楼主有碰到过,一直提示 无法连接到 iTunes Store这个问题么,我这沙盒购买一直这个问题。
        jacinzhang:@谦言忘语 就是今天啊~
        谦言忘语:@油炸小蚯蚓 是最近两天么?这两天苹果服务器出问题了。如果是一直这样的话,可能是税务信息那里没填好
      • Aacmr:SKErrorUnknown, Domain=SKErrorDomain Code=0 "无法连接到 iTunes Store" UserInfo={NSLocalizedDescription=无法连接到 iTunes Store} 我的内购一直连接不到iTunesstore 。上个星期测试好好的,能购买成功,昨天突然连接不上了,不知道什么原因。也能请求到商品信息,然后就直接走失败SKPaymentTransactionStateFailed
        Aacmr:@谦言忘语 请问后台验证返回“21004 你提供的共享密钥和账户的共享密钥不一致”,怎么破?我申请的是消耗性项目,应该没有共享密匙吧?不是自动续订的才有共享密匙吗?这个你知道吗?
        Aacmr:@谦言忘语 好的,刚才给苹果客服打电话了,他们说接到了连不上iTuneConnect的电话。只能等等了。谢谢你:smile:
        谦言忘语:@Aacmr 昨天开始苹果内购出问题了,我们线上的内购都被苹果坑死了。今天连不上iTuneConnect,而且我们服务器向苹果验证收据的时候返回也有问题。应该是苹果的故障,等几天看看吧
      • HunterG:楼主这篇文章帮了大忙了!!:smile:
      • 3eac8cc65bf5:你好,我创建好了沙箱测试账号,系统设置里面也注销了正式的Apple ID,当我测试购买时,在弹出登录iTunes Store的提示框中输入了沙箱测试账号和密码,点购买后弹出了一个验证Apple ID的提示框,提示内容为打开’设置‘以继续使用“xxx”登录,点设置按钮后会跳转到系统设置界面,然后说向我的邮箱发送了验证邮件,我去验证后回来又再走一遍购买流程,还是弹出打开’设置‘以继续使用“xxx”登录的提示,跳转到设置界面又提示修改新密码。。。然后改密码又改不了。不知道这是什么问题
        3eac8cc65bf5:@谦言忘语 这应用还没有提交审核过,也没有添加构建版本,不知道为啥出现这种情况哎
        3eac8cc65bf5:@谦言忘语 我是创建的development证书打的包,就是点击购买后弹出的登录框,然后我选择使用已存在的Apple ID,使用沙箱测试账号登录后就出现验证Apple ID的提示框,目前找不到其它原因了,商品信息都是可以获取到的
        谦言忘语:@huxuesen 测试包是不是从appstore下载的?另外,登录需要通过测试包里面点击购买时弹出来的提示框中登录,不能在Appstore或者设置里面登录
      • mysteryemm:返回的商品ID是无效的,楼主有遇到这种情况没
        洁简:@心董儿 等那些协议过了就好了.
        mysteryemm:@谦言忘语 还没到那一步,执行请求商品信息时,返回的product id 是invalidate,所以无法购买,沙盒账号是新创建的,而且税务协议等状态一直是processing中,没有生效
        谦言忘语:@心董儿 ?是已经跳出了确认信息购买商品信息的提示框,然后苹果提示框提示该项目不可用吗?我这几天也遇到了,好像是因为沙盒账号过期了,我重新创建一个沙盒账号解决了
      • sea7reen:问下.沙箱购买成功.
        虚拟的货币会 变化吗>
        谦言忘语:@sea7reen 虚拟货币?如果你说的是沙盒账号里面的钱,里面没钱的,或者说,里面的钱是无限的,怎么买都行。如果你说的是沙盒账号进行内购购买成功了之后,app内的虚拟货币是否会变化。这个就跟app有关了。一般来说,沙盒购买成功的之后操作是跟正常的AppleID购买成功后是一样的,会给app内的用户开启功能或者发放虚拟货币。因为苹果审核的时候也是用沙盒账号进行审核的,如果购买成功了不给发货,苹果会对你有意见的。

      本文标题:【iOS】苹果IAP(内购)中沙盒账号使用注意事项

      本文链接:https://www.haomeiwen.com/subject/mcysmttx.html