AnyChat技术支持论坛

标题: cordova使用插件与anychat冲突 [打印本页]

作者: tzhaiqi    时间: 2014-9-15 17:29
标题: cordova使用插件与anychat冲突
使用cordova开发的程序中有用到cordova的camera插件org.apache.cordova.camera之后再嵌入anychat出现了cordova插件失效的情况,具体表现为触发相册或相机原生程序的时候必须切换下程序、下拉状态栏或者上拉出现快速设置之后才能出现调用的相机或相册的界面。


去掉anychat嵌入程序后插件就又可以正常使用了,请问怎么处理这种冲突情况?





作者: admin    时间: 2014-9-15 17:32
您好,是否可以提供一个简单的demo程序(或是直接在我们的标准示例源代码上进行修改),能够重现上面的现象,我们好让iOS的开发工程师直接帮您调试一下,看是什么地方有冲突,谢谢。
作者: tzhaiqi    时间: 2014-9-15 17:39
admin 发表于 2014-9-15 17:32
您好,是否可以提供一个简单的demo程序(或是直接在我们的标准示例源代码上进行修改),能够重现上面的现象 ...

可以,我把demo程序发给谁呢,qq还是email?
作者: admin    时间: 2014-9-15 17:42
你好,请发送到:service@bairuitech.com,谢谢。
作者: tzhaiqi    时间: 2014-9-15 17:46
admin 发表于 2014-9-15 17:42
你好,请发送到:,谢谢。

好的谢谢!
作者: chenxs    时间: 2014-9-16 16:39
本帖最后由 chenxs 于 2014-9-16 16:46 编辑

您好~!我们下载了您发来的工程文件,可以运行的!
针对您说的2个问题 ,我们认真的研究了你工程代码。


1)关于从webview启动页面时提示
    webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: <NSInvalidArgumentException> -[AnyChatViewController ip:port:]: unrecognized selector sent to instance 0x10b6e00 错误 问题。
    是因为MainViewController类里面引用了 - (void)ip:(NSString*)ip port:(int)port;的方法,但是编译器没找到,我们研究下原因是 AnyChatViewController 类定义了此方法,但没有写出实现的具体内容。


2)关于工程嵌入anychat出现了cordova插件获取相册失效的情况,要切换下程序才能访问
    我们把 anychat 的所有代码都部删除,注释后,再运行原工程还是会出现获取相册失效的情况
切换下程序才能访问,推断您工程引用的插件存在问题或者版本低不支持。
    据我了解,苹果为了防止私人相册安全性,相册是封闭的没有直接调用相册内容的接口方法。


作者: chenxs    时间: 2014-9-16 16:41
chenxs 发表于 2014-9-16 16:39
您好~!我们下载了您发来的工程文件,可以运行的!
针对您说的2个问题 ,我们认真的研究了你工程代码。

...

     若是访问 iOS 相册是有个方法:


    APP获取系统相册里的图片,然后保存到自己APP沙盒里面再处理,主要用到用imagepickercontroller的-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info方法。

具体Demo如下:
-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

        //先把图片转成NSData(注意图片的格式)
        UIImage* image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
        NSData *data = UIImagePNGRepresentation(image);;

        //图片保存的路径
        NSString * DocumentsPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];  
        NSFileManager *fileManager = [NSFileManager defaultManager];
        [fileManager createDirectoryAtPath:DocumentsPath withIntermediateDirectories:YES attributes:nil error:nil];
        [fileManager createFileAtPath:[DocumentsPath stringByAppendingString:@"/image.png"] contents:data attributes:nil];     
        filePath = [[NSString alloc]initWithFormat:@"%@%@",DocumentsPath,  @"/image.png"];

        NSLog(@"图片的完整路径是:%@", filePath);  
    }
}




作者: tzhaiqi    时间: 2014-9-16 17:06
chenxs 发表于 2014-9-16 16:39
您好~!我们下载了您发来的工程文件,可以运行的!
针对您说的2个问题 ,我们认真的研究了你工程代码。

...

好的,谢谢~针对这种情况我稍后会反馈一个没有anychat的工程包过去,是可以调用相册的,麻烦嵌入anychat后再尝试一下。
作者: admin    时间: 2014-9-17 11:48
亲,已经将修改后的代码发给您了,没有出现您反馈的不正常的问题,请查收一下,谢谢。
作者: tzhaiqi    时间: 2014-9-17 12:08
admin 发表于 2014-9-17 11:48
亲,已经将修改后的代码发给您了,没有出现您反馈的不正常的问题,请查收一下,谢谢。

已经收到邮件,因为已经上线的服务端为4.x版本,因为客观限制较长一段时间都无法升级。
测试到能互相匹配、稳定视频的可用ios_sdk最高版本为4.9,能否嵌入ios4.9版本的sdk再发一份呢,麻烦了谢谢。
作者: admin    时间: 2014-9-17 12:59
亲,AnyChat所发布的SDK均向下兼容,使用最新版本也可以和早期的版本进行交互,包括服务器端,所以建议使用最新版本的SDK,谢谢。
作者: tzhaiqi    时间: 2014-9-17 13:35
admin 发表于 2014-9-17 12:59
亲,AnyChat所发布的SDK均向下兼容,使用最新版本也可以和早期的版本进行交互,包括服务器端,所有建议使用 ...

好的非常感谢您的回复,我在稍后的测试中再去跟踪一下版本这里。
作者: zhu410289616    时间: 2014-11-4 17:36
目前也碰到这样的需求,要求anychat和webrtc共存。

不知道楼主问题解决了吗?
作者: tzhaiqi    时间: 2014-12-12 19:41
zhu410289616 发表于 2014-11-4 17:36
目前也碰到这样的需求,要求anychat和webrtc共存。

不知道楼主问题解决了吗?

解决了,但不是anychat的问题,是url有拦截,后来搞掉了就好了。




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3