自己总结遇到的一些问题

1.调试遇到的一些问题

引用库后关于_OBJC_CLASS_$_文件referenced from:objc-class-ref in报错的测试总结 

当出现该情况暂时测试出的结果可分成两种情况 当出现(ld: warning: ignoring file /Users/xxxx/Desktop/xxxx/xxxx.framework/xxxx, missing required architecture i386 in file /Users/xxxx/Desktop/xxxx/xxxx.framework/xxxx (2 slices))类似的错误的时候,接着的是一大串_OBJC_CLASS_$_文件referenced from:objc-class-ref in时,暂时测试出来的原因是因为该库只能用真机测试,模拟器上不能测试,至于真机上出现该错误时... 



2.webview禁止长按事件

-(void)webViewDidFinishLoad:(UIWebView *)webView{

    //下面的两句是禁止长按事件

    [self.mainWebView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];

    

    [self.mainWebView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];

    

}



3.webview与js的交互

//回调js的函数,其中JSON.stringify()这个函数传入nsstring对象转换成JS的字符串

  delegate.audioCallBack=^(NSString*data){

        

        NSString *str=[NSString stringWithFormat:@"var test = %@;JSON.stringify(test);getAudioURL(JSON.stringify(test));",data];

        [self.mainWebView stringByEvaluatingJavaScriptFromString:str];

        

    };



4.进行截屏

//截屏—>写入到相册里

   

 UIGraphicsBeginImageContext(self.view.bounds.size);

    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

    UIImage *image= UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);



5.

下面的代码是js中在c++中得到的字符串,那么c++的字符串怎么转换成oc的呢,先转换成c的字符串,再转换成oc的字符串


        //根据返回的字段解析字符串

        map<string,string>::iterator appSysId = argsmap.find("appSysId");

        map<string,string>::iterator cardNo = argsmap.find("cardNo");

        map<string,string>::iterator cerType = argsmap.find("cerType");

        map<string,string>::iterator cerNo = argsmap.find("cerNo");

        map<string,string>::iterator cerName = argsmap.find("cerName");

        map<string,string>::iterator cardMobile = argsmap.find("cardMobile");

        map<string,string>::iterator secret = argsmap.find("secret");

         //c++ 字符串转换成c的字符串

        const char *c_appSysId = appSysId->second.c_str();

        const char *c_cardNo = cardNo->second.c_str();

        const char *c_cerType = cerType->second.c_str();

        const char *c_cerNo = cerNo->second.c_str();

        const char *c_cerName = cerName->second.c_str();

        const char *c_cardMobile = cardMobile->second.c_str();

        const char *c_secret = secret->second.c_str();

        //c的字符串转换成oc的字符串

        NSString *oc_appSysId =[NSString stringWithUTF8String:c_appSysId];

        NSString *oc_cardNo =[NSString stringWithUTF8String:c_cardNo];

        NSString *oc_cerType =[NSString stringWithUTF8String:c_cerType];

        NSString *oc_cerNo =[NSString stringWithUTF8String:c_cerNo];

        NSString *oc_cerName =[NSString stringWithUTF8String:c_cerName];

        NSString *oc_cardMobile =[NSString stringWithUTF8String:c_cardMobile];

        NSString *oc_secret =[NSString stringWithUTF8String:c_secret];


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值