Archive

Author Archive

MAC OS编译iOS版Linphone SDK和APP

October 28th, 2015 No comments

最近由于开发一款基于SIP通信的VOIP应用程序项目需要,自己研究了一下几款开源SIP实现,主要有PJSIP和Linphone,PJSIP由于文档说明详细,编译和测试都没有费多大事情。Linphone的编译就比较费神费力了,开始之前查看互联网上的资料,大家都说各种痛苦折磨,后来自己实践了一把,除了文档说明奇缺之外,编译还算顺利,除了调查耗费了不少时间。

Read more…

Categories: 移动互联, 语言编程 Tags:

安装HomeBrew提示已安装并无法卸载

October 28th, 2015 No comments

自己的MAC工作机器上为了编译linphone创建了一个新用户,安装依赖包时提示brew未找到,重新安装brew时提示各种Permission denied。干脆到旧用户账户下把brew卸载。然后到新用户下重新安装。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

新用户下还是提示Permission denied。继续安装不成功。再卸载出现以下情况

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
Failed to locate Homebrew!

Read more…

Categories: 零敲碎打 Tags: , ,

Android强制使用WebView不调用系统或外部浏览器

October 21st, 2015 No comments

HTML5 HYBIRD混合APP需要在H5页面中打开第三方网站(例如:百度),android默认不在当前WebView中打开,反而会调用系统或外部浏览器,解决办法是自己重写WebViewClient,覆盖shouldOverrideUrlLoading并让其返回True。

实现代码

mWebView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url)
      {
            // webview自己加载URL,让后通知系统不需要HandleURL
            view.loadUrl(url);
            return true;
      }
});

Read more…

Categories: 语言编程, 零敲碎打 Tags: ,

[Xcode]XcodeGhost问题的检查和验证

September 24th, 2015 No comments

这两天XcodeGhost问题搞得国内所有iOS开发者人心惶惶,如果你在编译和上线APP时,使用的是非官方下载的Xcode话,编译出来的app会被注入一段恶意代码,恶意代码会向特定服务器(init.icloud-analysis.com)上传机器相关数据,更严重的是变种的恶意代码还会劫持APP中所有的弹出对话框。

给出一个简单的检查方法:
1.进入以下目录
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
2.目录下包含以下内容,恭喜中招。正常的Xcode没有的
Library/Frameworks/CoreServices.framework/CoreService
Read more…

Categories: 零敲碎打 Tags: , ,

[WP]WP-ReplaceGravatarMirror插件1.1版本发布

September 2nd, 2015 No comments

博客全面支持HTTPS协议访问后,之前做的WP-ReplaceGravatarMirror插件对HTTPS的访问效果不是太好,因此对
WP-ReplaceGravatarMirror插件进行了简单的一次小升级,让WP-ReplaceGravatarMirror同时支持HTTP和HTTPS网站,
本次改进只针对https网站进行优化,如果启用了HTTP访问的话欢迎下载和升级,没有启用HTTP访问且已经安装WP-ReplaceGravatarMirror1.0版本的可以不需要升级。

插件名称:WP-ReplaceGravatarMirror
插件说明:插件说明页面
当前版本:1.1
使用方法:
1.下载最新版本的WP-ReplaceGravatarMirror,解压已下载完成的文件。下载地址:https://github.com/limccn/WP-ReplaceGravatarMirror/tree/master/release/1.1
2.将解压后的wp-replace-gravatar-mirror文件夹上传到服务器的plugins目录下,或者使用Wordpress自带的上传安装插件功能
3.进入Wordpress后台,在插件选项卡中激活WP-ReplaceGravatarMirror
Read more…

[Redis] 解决Redis运行时Cannot save in background问题

August 28th, 2015 No comments

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

Redis运行时经常出现 Cannot save in background. 问题,通常因为两个原因
1.Redis的占用的内存过大,导致BGSAVE时系统无法分配足够的内存给BGSAVE进程而导致错误。
碰到这种情况时,你可以这样操作,限制Redis的最大内存大小到系统内存的一半以内。
设置redis的内存可以在redis.conf 中修改 maxmemory 属性

   maxmemory  # 系统实际安装内存的一半以内,实验环境的话建议不要超过1/3

Read more…

[iOS] iOS9.0 关闭系统强制使用HTTPS

August 25th, 2015 1 comment

iOS9.0以后出于对请求安全的考虑默认将Foundation.framework中的HTTP请求协议更换为SSL/TLS,也就是说所有由程序发起的HTTP请求默认将请求HTTPS的内容,而且在HTTPS出现404时不会请求HTTP的内容,如果你的APP原来就使用HTTPS,基本问题不大,但是如果使用HTTP的话,就需要:
1.修改你的服务器配置,使它支持HTTPS访问
2.修改你的info.plist配置,让APP能访问普通的HTTP协议网站
否则调试程序时会在Log中出现以下提示:

App Transport Security has blocked a cleartext HTTP (http://) resource
 load since it is insecure. Temporary exceptions can be configured via
 your app's Info.plist file.

Read more…

Categories: 移动互联, 零敲碎打 Tags: , ,