MAC OS编译iOS版Linphone SDK和APP
最近由于开发一款基于SIP通信的VOIP应用程序项目需要,自己研究了一下几款开源SIP实现,主要有PJSIP和Linphone,PJSIP由于文档说明详细,编译和测试都没有费多大事情。Linphone的编译就比较费神费力了,开始之前查看互联网上的资料,大家都说各种痛苦折磨,后来自己实践了一把,除了文档说明奇缺之外,编译还算顺利,除了调查耗费了不少时间。
最近由于开发一款基于SIP通信的VOIP应用程序项目需要,自己研究了一下几款开源SIP实现,主要有PJSIP和Linphone,PJSIP由于文档说明详细,编译和测试都没有费多大事情。Linphone的编译就比较费神费力了,开始之前查看互联网上的资料,大家都说各种痛苦折磨,后来自己实践了一把,除了文档说明奇缺之外,编译还算顺利,除了调查耗费了不少时间。
自己的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! |
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; } }); |
这两天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…
博客全面支持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是一个开源的使用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 |
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. |
Recent Comments