iOS_CLP
iOS_CLP
  • 发布:2019-10-08 15:26
  • 更新:2021-12-03 14:57
  • 阅读:24316

iOS提交AppStore审核时:提示有其他支付并隐藏功能被拒的处理办法

分类:5+ SDK

背景提示:数字类产品(比如购买会员等不需要配送实物的商品),Apple规定必须使用苹果IAP应用内支付,给Apple分成30%。打包的时候不要勾选微信或支付宝等其他支付方式。如果你提交的包里包含了微信支付宝等支付的sdk,即使没使用,Appstore也会认为你有隐藏方式,以后会绕过iap,不给Apple分成,因此拒绝你的App上线

  • 应用中如果没有交易功能,不要包含任何支付相关模块和任何支付相关的js代码
  • 应用中如果只包含虚拟物品交易,只能使用苹果应用内支付(IAP),不能使用支付宝和微信支付
  • 应用中如果包含实物交易,可以包含支付宝和微信支付

使用HBuilderX提交云端打包

提交苹果商店审核时,提示“有其他支付并隐藏功能被拒”或者“报PGPay SDK不允许上架的问题”,请按以下方法处理:

  • 如果应用没有交易功能,在manifest.json的“(App)模块权限配置”页的“打包模块配置”项下不要勾选“Payment(支付)”,重新打包提交
  • 如果应用只包含虚拟物品交易,在manifest.json的“(App)SDK配置”页的“支付”项下勾选“Apple应用内支付”,不要勾选支付宝和微信支付。这时需要和苹果沟通,说明的大概意思是:PGPay SDK 的PGPay只是个名字而已,并不是什么支付SDK,并没有违反苹果支付相关的政策。
  • 如果应用包含实物交易,可以使用支付宝和微信支付。这时需要和苹果沟通,说明应用使用支付功能的场景。

使用5+ SDK本地离线打包

按照签名的规则确定应用包含的支付模块,按以下方法确认:

  • 确定工程中是否有微信和支付宝支付的功能,如果没有把不需要的微信和支付宝的相关库删除,删除时参考离线sdk包里的Feature-iOS.xls文件中Payment模块的配置。
    注意:微信SDK有2个,一个是带支付的(libWeChatSDK_pay.a),一个是不带支付的(libWeChatSDK.a),删除时,删除带支付的。但是工程中有用到微信其他的功能需要添加libWeChatSDK.a库以免编译报错
  • 如果工程中没有微信和支付宝的功能,但是有苹果支付的功能需要liblibPayment.a库和libIAPPay.a,只有libIAPPay.a库,工程编译会报错。
  • 如果工程中也没有苹果支付,那么把liblibPayment.a库和libIAPPay.a都删除,删除时参考离线sdk包里的Feature-iOS.xls文件中Payment模块的配置。
  • 如果工程中有libBaiduWalletSDK.a,libpingpppay.a和libpingpp.a这3个库,Pingpp.bundle和BaiduWalletSDKBundle.bundle这2个文件,把它们都删除。
  • 如果删除过程中编译报“_SKStoreProductViewController”这么一个错,需要在工程中添加系统库StoreKit.framework。
  • 如果工程中没有支付功能需把相关的支付的js代码删除。
  • 查看工程中PandoraApi.bundle中feature.plist文件,把Payment节点下的extend节点里的项,按自己的业务情况删除;比如,业务中没有支付宝支付,那就把“alix”这项删除,没有微信支付,就把“weixin”这项删除,如果没有支付功能,把Payment整个节点删除。
  • 如果还是提示“有其他支付并隐藏功能被拒”或者“报PGPay SDK不允许上架的问题”,需要和苹果沟通,说明的大概意思是:PGPay SDK 的PGPay只是个名字而已,并不是什么支付SDK,并没有违反苹果支付相关的政策。

提示这个“报PGPay SDK不允许上架的问题” 在2.3.3.20190924之后的版本会把名字改掉,以便不再报这个上架的问题。

12 关注 分享
n***@163.com 你猜猜我是谁 A***@163.com 6***@qq.com 5***@qq.com 睡不醒哎 1***@qq.com 天逸 1***@qq.com Mr康 糖猫猫 Jerry_2020

要回复文章请先登录注册

n***@163.com

n***@163.com

回复 iOS_CLP :
https://ask.dcloud.net.cn/question/79740
这个里面有我详细描述和图
2019-10-10 17:54
n***@163.com

n***@163.com

回复 iOS_CLP :
删的libWeChatSDK_pay.a,没有删除liblibPGInvocation.a,删除libWeChatSDK_pay.a后就报下面的错
Showing All Messages

-1: arm64 function not 4-byte aligned: _ffi_call_SYSV from /Users/shujuzhongzhu/Documents/审图/iOSSDK@2.3.1.69621_20190920/SDK/Libs/liblibPGInvocation.a(sysv_arm64.o)
2019-10-10 17:53
iOS_CLP

iOS_CLP (作者)

回复 n***@163.com :
你删除什么了???liblibPGInvocation.a这个不是支付相关的
2019-10-10 17:06
n***@163.com

n***@163.com

回复 iOS_CLP :
删除后报错:
Showing All Messages
:-1: arm64 function not 4-byte aligned: _ffi_call_SYSV from /Users/shujuzhongzhu/Documents/审图/iOSSDK@2.3.1.69621_20190920/SDK/Libs/liblibPGInvocation.a(sysv_arm64.o)
2019-10-10 16:58
iOS_CLP

iOS_CLP (作者)

回复 iOS_CLP :
目前离线sdk包里有libWeChatSDK_pay.a和libWeChatSDK.a2个库,libWeChatSDK_pay.a这个是带支付微信的sdk,libWeChatSDK.a这个是不带支付的微信sdk。
2019-10-09 20:58
iOS_CLP

iOS_CLP (作者)

回复 n***@163.com :
这个应该是微信支付用到的库,删除了报什么错?
2019-10-09 20:32
n***@163.com

n***@163.com

回复 iOS_CLP :
现在又发现了一个libWeChatSDK_pay.a的文件,这个文件删除了也是报错
2019-10-09 18:51
iOS_CLP

iOS_CLP (作者)

回复 n***@163.com :
文章说的很清楚了,用到了支付功能 liblibPayment.a这个不能删除啊,你重新引入到工程里去吧
2019-10-08 18:14
n***@163.com

n***@163.com

删除的时候发现 liblibPayment.a 删除后模拟器运行和打包都报错,这个应该是有其他地引用吧,我现在想知道,删除了怎么找回?
2019-10-08 18:06
iOS_CLP

iOS_CLP (作者)

回复 n***@163.com :
对,删除
2019-10-08 17:40