creator接anysdk微信登录ios编译报错

Undefined symbols for architecture arm64:
OBJC_CLASS$_IAPWrapper”, referenced from:
objc-class-ref in wxpay
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

你应该上的是越狱渠道吧?
Creator构建发布时,是有个选项“越狱渠道的”,请根据实际注意选择。选择完后实际上会根据你的选择集成对应的框架的,因此所需要的插件也要匹配这个框架。

具体请查看 http://docs.anysdk.com/faq/ios-sdk-params/ 中的AppStore上线注意事项,里面提供了具体说明文档

这个做法对开发者来说的确不友好,但是因为Appstore对应用内支付审核的问题,没办法

我用creator 1.6.2版本,没勾越狱渠道,编译时也有这个报错

按照上面大神说的把插件下载了替换就好了

我用creator 1.8.1 没有勾选越狱渠道
编译 也报这个错误
我把wxpay.framework去掉,就不报错
但是运行时会出现初始化anysdk失败
js层获取agent.getUserPlugin()为空

我不上越狱渠道
上次不是 说1.8.1版本的不用替换框架吗

creator管理员在吗?
这个问题该怎么处理

@folgerhu

静态库问题

咋解决类

你的Other Linker Flags设置对了么

我已经解决了,下面是我的猜测
首先,creator构建时,不勾选越狱渠道,那么使用了YAP这些类,但是微信SDK默认包含支付,而微信支付使用了IAP的类,所以编译就报找不着IAP的东西
解决办法:下面微信不包含支付的SDK导入ANYSDK重新打包
我建议ANYSDK可以在打包勾选时,有个微信(不包含支付)的登录SDK,这样就不用我们这么辛苦重新导入SDK了

1赞

这里就是缺少wxpay的静态库引用,你要不就去掉,要不就把静态库加上

框架和插件的IAP改为YAP等一些改动是为了避免被苹果审核误伤,如果情况稳定我们会考虑框架/插件全部统一处理一下,但目前还不确定苹果审核问题是否会继续升级,所以目前还是以导入替换方式为主。

重新看了下这个提议是可以考虑,不带支付的SDK就放对应AppStore框架的不带支付插件,这种情况还想接微信支付的就自己导入吧:joy:

OBJCCLASS_$_IAPWrapper 碰到这个报错应该是用了苹果版的框架,越狱版的微信插件,那么需要导入插件重新打包

反之就是 OBJCCLASS_$_IAPWrapper 是用了越狱版的框架,导入的苹果版的插件,当然这个情况少一些。

目前AnySDK工具里默认是越狱版的插件,Creator考虑到大部分用户的需求,放的是苹果版的框架,这就是比较纠结的地方了。

https://pan.baidu.com/s/1slExi0H

把Creator的AppStore-微信的接入流程和要点也大概写一遍吧

如果是1.6.2以上的Creator版本,编译发布时默认带的是AppStore框架,如果需要接越狱渠道就把越狱渠道选项勾上

然后找到编译后的Xcode工程,把-desktop的工程删掉,避免出现打包后启动崩溃问题,路径可以参考下红框部分,或者直接在文件夹中搜索.xcodeproj。如果已经出现打包后启动崩溃情况,记得是去母工程删除后重新打包,如果在子工程删掉重新打包后,这个target还会从母工程那边复制过来。

到百度盘下载对应的插件, 微信带支付 https://pan.baidu.com/s/1cD7Jqu 密码: md2r,微信不带支付 https://pan.baidu.com/s/1slExi0H 密码: s4vq

如果通过Safari浏览器下载下来的插件,可能已经被Safari解压成文件夹了,这时候要到文件夹里框选所有文件,压缩成zip,文件名可以取任意名称。若下载来的就是zip文件可以忽略这一步

通过工具打包界面的SDK管理界面,在登录/支付插件中搜索微信,点击导入按钮,导入刚压缩的zip文件

再之后通过打包功能打包出渠道包即可。

1赞

mark

mark