walker1234
walker1234
  • 发布:2023-08-16 16:43
  • 更新:2023-08-22 17:30
  • 阅读:528

ios 离线打包 应用内支付 provider获取失败

分类:uni-app

ios 离线打包, 已经按照文档添加了 liblibPayment.a、libIAPPay.a StoreKit.framework 这三个依赖, 但是前端 uni.getProvider时, 依然没有 appleiap 这个provider, paymentContext:fail iap service not found

hbuilderx 以及 离线打包sdk版本为3.8.4
feature.plist也已经配置如图:


liblibPayment.a、libIAPPay.a StoreKit.framework依赖截图:

明确一下, Appstore connect 已经配好的, 通过hbuilderx 创建的自定义基座是可以发起支付的, 只是通过离线打包的形式不行

2023-08-16 16:43 负责人:无 分享
已邀请:
walker1234

walker1234 (作者)

已经解决了, 感谢 @DCloud_iOS_WZT 的配合, 最终还是两个配置要确认好

1、三个依赖

2、feature.plist

我这次问题就出在feature.plist上, 为了测试流程,我们的项目直接从 官方SDK中的 HBuilder-uniPluginDemo复制之后修改而来, 这里边是有HBuilder-uniPluginDemo/Hbuilder-Hello/PandoraApi.bundle 的, 里边有feature.plist, 但是实际这个bundle根本没用, 而是应该改 SDK/Bundles/PandoraApi.bundle 这里边的feature.plist, 之前升级版本直接覆盖的SDK目录, 根本没想到还需要改这个目录下的文件,浪费了几天时间

DCloud_iOS_WZT

DCloud_iOS_WZT

手机里的应用删掉 重新运行试试

  • walker1234 (作者)

    试过了的,不行,重新构建也不行

    2023-08-16 21:42

  • walker1234 (作者)

    还有其他可能吗?这个问题卡了几天了, 一致无法解决

    2023-08-18 14:26

  • DCloud_iOS_WZT

    回复 walker1234: Link Binary With Libraries 下liblibPayment.a、libIAPPay.a StoreKit.framework 确认有这三个依赖么 附截图

    2023-08-18 15:42

  • walker1234 (作者)

    回复 DCloud_iOS_WZT: 附件已上传

    2023-08-18 16:10

  • walker1234 (作者)

    回复 DCloud_iOS_WZT: 我刚才用离线sdk包里的项目, 添加了上述依赖后, 测试也是无法获取appleiap的provider

    2023-08-18 16:11

  • DCloud_iOS_WZT

    回复 walker1234: 我用3.8.12的离线SDK测试没问题 你下最新的试试?

    2023-08-18 16:57

  • DCloud_iOS_WZT

    回复 walker1234: uni.getProvider 这句代码我看下参数怎么写的

    2023-08-18 16:58

  • walker1234 (作者)

    回复 DCloud_iOS_WZT: uni.getProvider({

    service: 'payment',

    success: (res) => {

    errMsg.value += JSON.stringify(res);

    }

    });

    2023-08-18 17:02

  • walker1234 (作者)

    回复 walker1234: 获取到的success回调是空数组

    2023-08-18 17:05

  • DCloud_iOS_WZT

    回复 walker1234: uni.getProvider({

    service: 'payment',

    success: (res) => {

    const iapChannel = res.providers.find((channel) => {

    return (channel.id === 'appleiap')

    })

    console.log(iapChannel);

    // 如果 iapChannel 为 null,说明当前包没有包含iap支付模块。注意:HBuilder基座不包含 iap 通道

    }

    });

    2023-08-18 17:08

  • walker1234 (作者)

    回复 DCloud_iOS_WZT: 问题是success收到的回调参数res, 是个空数组

    2023-08-18 17:15

  • walker1234 (作者)

    回复 DCloud_iOS_WZT: 在下载, 等下测试下给你反馈

    2023-08-18 17:19

  • walker1234 (作者)

    回复 DCloud_iOS_WZT: 3.8.12试了也不行, 直接用的sdk里的项目测试的, 不行,除了xcode打包需要配置的东西之外, 前端代码是否有其他需要配置的?另外这个跟设备是否有关系?比如xcode版本、iOS手机版本之类的

    2023-08-20 17:29

要回复问题请先登录注册