背景提示:数字类产品(比如购买会员等不需要配送实物的商品),Apple规定必须使用苹果IAP应用内支付,给Apple分成30%。打包的时候不要勾选微信或支付宝等其他支付方式。如果你提交的包里包含了微信支付宝等支付的sdk,即使没使用,Appstore也会认为你有隐藏方式,以后会绕过iap,不给Apple分成,因此拒绝你的App上线
- 应用中如果没有交易功能,不要包含支付相关模块和支付相关的js代码
- 应用中如果只包含虚拟物品交易,只能使用苹果应用内支付(IAP),不能使用支付宝和微信支付
- 应用中如果包含实物交易,可以包含支付宝和微信支付
使用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代码删除。
- 如果还是提示“有其他支付并隐藏功能被拒”或者“报PGPay SDK不允许上架的问题”,需要和苹果沟通,说明的大概意思是:PGPay SDK 的PGPay只是个名字而已,并不是什么支付SDK,并没有违反苹果支付相关的政策。
- 确定工程中是否有微信和支付宝支付的功能,如果没有把不需要的微信和支付宝的相关库删除,删除时参考离线sdk包里的Feature-iOS.xls文件中Payment模块的配置。