iOS 静态库 封装银联控件时遇到问题

[复制链接]
202 15
银联sdk调试问题:
使用银联提供的UPPayDemo中新建一个UPTestViewController
并在该UPTestViewController中调用银联的 [UPPayPlugin startPay:tn mode:@"01" viewController:self delegate:self];
    在主界面中增加一个按钮跳转到该viewController
    使用方法:
    UPTestViewController *pPayController=[[UPTestViewController alloc]init];

    [viewController presentViewController:pPayController animated:YES completion:nil];
ok,可以正常跳转并拉起银联控件。


但是,我想将银联sdk封装到自己的静态库中。
    参考银联调用的方法,我在自己的lib中声明了以下类方法
    + (void)Pay:(NSMutableDictionary *)dicMessage viewController:(UIViewController*)viewController;


    并且在lib中增加一个PayController
    Pay方法中跳转使用


    +(void)Pay:(NSMutableDictionary *)dicMessage viewController:(UIViewController*)viewController
    {

    PayController *pPayController=[[PayController alloc]init];


    //调用此方法显示模态窗口
    [viewController presentViewController:pPayController animated:YES completion:nil];


     }


     并在该PayController中调用银联的 [UPPayPlugin startPay:tn mode:@"01" viewController:self delegate:self];


调试时跳转ok,银联控件的加载界面也出现了,但是会报如下错误:是否有人遇到过这种情况?
2015-04-15 15:43:07.227 Demo4Test[7940:907] -[__NSCFConstantString newSizeWithFont:forWidth:lineBreakMode:]: unrecognized selector sent to instance 0x95ad8
2015-04-15 15:43:07.229 Demo4Test[7940:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString newSizeWithFont:forWidth:lineBreakMode:]: unrecognized selector sent to instance 0x95ad8'
*** First throw call stack:
(0x323da2a3 0x3a10297f 0x323dde07 0x323dc531 0x323dd938 0x4f38d 0x4f77b 0x3a8f5 0x3a271 0x66621 0x4d4f7 0x4aa73 0x34201595 0x3425614b 0x34256091 0x34255f75 0x34255e99 0x342555d9 0x342554c1 0x34243b93 0x34243833 0x47a17 0x32cf10f5 0x323af683 0x323aeee9 0x323adcb7 0x32320ebd 0x32320d49 0x35ef92eb 0x34236301 0x2e56d 0x22b80)
libc++abi.dylib: terminate called throwing an exception

举报 使用道具

回复

15 个评论

1033536  新手上路  发表于 2018-5-19 11:13:34  | 显示全部楼层
加-ObjC或者-force_load,我也是出现这个问题,加了-ObjC就成功了

举报 使用道具

回复
bbsno1  新手上路  发表于 2018-5-19 11:51:05  | 显示全部楼层
感觉这个方法是银联控件里使用的,因为已经拉起了银联控件,卡在了加载界面。

举报 使用道具

回复
snhj  新手上路  发表于 2018-5-19 11:58:18  | 显示全部楼层
银联sdk调试问题:
使用银联提供的UPPayDemo中新建一个UPTestViewController
并在该UPTestViewController中调用银联的 [UPPayPlugin startPay:tn mode:@"01" viewController:self delegate:self];
    在主界面中增加一个按钮跳转到该viewController
    使用方法:
    UPTestViewController *pPayController=[[UPTestViewController alloc]init];

    [viewController presentViewController:pPayController animated:YES completion:nil];
ok,可以正常跳转并拉起银联控件。


但是,我想将银联sdk封装到自己的静态库中。
    参考银联调用的方法,我在自己的lib中声明了以下类方法
    + (void)Pay:(NSMutableDictionary *)dicMessage viewController:(UIViewController*)viewController;


    并且在lib中增加一个PayController
    Pay方法中跳转使用


    +(void)Pay:(NSMutableDictionary *)dicMessage viewController:(UIViewController*)viewController
    {

     PayController *pPayController=[[PayController alloc]init];


     //调用此方法显示模态窗口
     [viewController presentViewController:pPayController animated:YES completion:nil];


     }


     并在该PayController中调用银联的 [UPPayPlugin startPay:tn mode:@"01" viewController:self delegate:self];


调试时跳转ok,银联控件的加载界面也出现了,但是会报如下错误:是否有人遇到过这种情况?
2015-04-15 15:43:07.227 Demo4Test[7940:907] -[__NSCFConstantString newSizeWithFont:forWidth:lineBreakMode:]: unrecognized selector sent to instance 0x95ad8
2015-04-15 15:43:07.229 Demo4Test[7940:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString newSizeWithFont:forWidth:lineBreakMode:]: unrecognized selector sent to instance 0x95ad8'
*** First throw call stack:
(0x323da2a3 0x3a10297f 0x323dde07 0x323dc531 0x323dd938 0x4f38d 0x4f77b 0x3a8f5 0x3a271 0x66621 0x4d4f7 0x4aa73 0x34201595 0x3425614b 0x34256091 0x34255f75 0x34255e99 0x342555d9 0x342554c1 0x34243b93 0x34243833 0x47a17 0x32cf10f5 0x323af683 0x323aeee9 0x323adcb7 0x32320ebd 0x32320d49 0x35ef92eb 0x34236301 0x2e56d 0x22b80)
libc++abi.dylib: terminate called throwing an exception

举报 使用道具

回复
zhou33414862  新手上路  发表于 2018-5-19 12:12:05  | 显示全部楼层
同样的错误  -OBJC  也没用啊

举报 使用道具

回复
lensony  新手上路  发表于 2018-5-19 12:22:30  | 显示全部楼层
加-ObjC或者-force_load

举报 使用道具

回复
mayor0576  新手上路  发表于 2018-5-19 13:19:03  | 显示全部楼层
-ObjC 添加这个解决了,感谢分享????

举报 使用道具

回复
minehm  新手上路  发表于 2018-5-19 13:48:55  | 显示全部楼层
银联支付  遇到  同样问题   ....楼主 解决没...

举报 使用道具

回复
gdgd  新手上路  发表于 2018-5-19 13:57:58  | 显示全部楼层
other link flag里加上 -ObjC
困扰两天。。。

举报 使用道具

回复
lero  新手上路  发表于 2018-5-19 13:58:25  | 显示全部楼层
怎么解决的,急那

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

ios.irunthink.com
搜索
热搜: iOS swift 下拉刷新

图文热点

更多

开发教程

更多

客服中心

400-800 周一至周日 9:30-17:30 仅收市话费

关注我们

  • 微信扫描
  • 关注微信
关于我们
关于我们
友情链接
联系我们
帮助中心
精贴推荐
源码上传
注册登录
服务支持
资源下载
关注我们
官方微博
官方空间
快速回复 返回顶部 返回列表