ios支付宝集成各种血泪坑和第三方平台不支持64位的解决办法


1.私钥不能读取

read private data error

因为是先搞的web,所以前部分申请,上传公钥都是以前同事做的,于是我只能从账户那里拿到公钥,却没有私钥。后来重新申请签约,openssl获取公私钥,配置。

不能读取怀疑过私钥没转pcks8,但是我自己在mac上转报错unable read data。。。

所以我以为这个是转过的所以不能再转。坑死了,直到后来我自己生成了一个私钥,转格式后可以过签名函数,发觉不太对。但是对应公钥的必须只有一个私钥。

后来问了支付宝的技术支持才知道,安卓的私钥不需要转pcks8,ios的才需要。这个我们没沟通,简直被坑死了。

2.支付宝加入后编译没法通过

i386什么的报错,指的是在模拟器环境下,花了一个晚上,各种查阅资料,各找bug各种调试。

rvm64报错是指不支持64位。这个我在网上搜了很多这方面的问题。我在加入另外一个js交互项目后也出现这个编译问题。然后我把framework重现加了一遍就好了,别问我为什么,我会咬人的,大晚上反正饿了。但是我在别人的文章看到过这个做法。大致是如果几个包都调用某个库可能路径有冲突,删掉重新加载就好了。

 

RMV7报错,这个是今晚遇到的。最近两天得回家干活,于是奇怪的事情就出来了。公司好好的,晚上回家就各种报错。一种问题,是公司用真机测试,回家开模拟机,甚至模拟器没有选择,导致空设备编译,坑死了。找了半天,选择模拟器就对了。天坑啊

今晚我把测试机带回家,结果发现模拟机编译ok,真机编译就出现RMV7错误,网上查都是DataSigner.m改成DataSigner.mm,问题是新的SDK这个都是封装成.a的静态库了,只有头文件调用啊。于是我查查查,头发都快熬白了,没有找到哪里有问题。关键是支付宝给的demo真机运行是ok的。呜呜呜呜......

好在博主今天干了两件糊涂事,一件是忘了备份代码了,一件是在忘了备份代码的情况下搞openssl混编,各种配置被我乱改了一气。于是我打算苦逼重写时,当当当当当,我发现回去最原始也不行。那就只有配置和Demo的有区别了,一项一项对配置,然后发现Building Settings里的Deploment里最后一项:

 

这个参数Demo里是ios7.0,我的里面是7.1,改回7.0,编译就ok了。我测试机版本是7.1.2.关键这个参数我没动过啊,我发誓。

不要问我为神马?知道为神马的客官们请留言解惑。。。泪流满面来写博,记这个坑逼的晚上。再不备份小鞭抽打。。。~~~~(>_<)~~~~ 

3.js交互编译

博主交互渣,好在同事很友好,个中今晚不写了。现在回头看我转的几篇交互的文,都弱爆了。下次再来总结。碎觉碎觉碎觉。。。。啊啊啊啊啊啊啊....


iOS第三方平台不支持64位的解决办法

来源地址:http://blog.csdn.net/sky_2016/article/details/39737279 

phone5s才用64位双核苹果A7处理器,所以上线的app必须支持64位环境。但是现在有很多第三方平台,不支持64位容易开成以下类似的错误

 

Undefined symbols for architecture x86_64:

  \\\\\\\\\\\\\\\"_OBJC_CLASS_$_QQApiInterface\\\\\\\\\\\\\\\", referenced from:

      objc-class-ref in CLAppDelegate.o  

 

解决办法

注意:有时第1步左别的导航是隐藏的,当按钮为黑色时,为隐藏、蓝色时,为显示。同debug是一样的。(为初学者指引)


阅读更多

更多精彩内容