自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

無双のブログ

iOS开发中的点点滴滴。

  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

原创 iOS推送:Java服务器端发送表情(绘文字)

做推送功能的时候,客户要求能够给iphone发送表情图标,也就是绘文字。手机环境:iOS5、iOS6推送服务器:JavaPns2.2iPhone对应的绘文字其实相当多,打开键盘切换到绘文字输入界面就可以看到。发送绘文字其实也就是要找到绘文字的utf-16编码,只有它在各个运营商的iOS设备之间是通用的。例如:笑脸:0xD83D 0xDE04太阳:0x2600足球:0

2013-03-19 17:10:05 3862 2

原创 JavaPns向APNS发送推送信息

最近开始搞iOS推送服务,使用Javapns构筑业务服务器。Javapns可以从谷歌Code上下载到,目前最新版本号为2.2。服务器环境的构筑略去不提,以下只记录下推送部分的代码,备忘。①发送简单推送信息最常见的推送形式,包括信息,提示音,过期时间等,客户端接受到推送后,会在提示中心看到推送内容和接收时间List pushSendDtoList = new Arra

2013-03-18 14:50:56 8064

原创 iOS如何隐藏TabBar

本篇文章简单介绍下如何隐藏 TabBar。画面迁移的隐藏,方法很简单,网上也有不少介绍。这里主要介绍的是在当前页面上隐藏 TabBar。下面是效果图:             原理其实很简单,就是修改 TabBar 的 subview 的 frame 就行了。其中,TabBar 的subview 共有两个,一个叫UITabBar,就是底下的那个 Bar;另一个叫UI

2013-02-25 13:28:16 5484

原创 Eclipse启动 报错[Failed to load the JNI shared library jvm.dll]

准备要做java服务器,在安装开发环境时,启动Eclipse报错[Failed to load the JNI shared library jvm.dll]研究了下,造成错误的原因是由于eclipse与jdk的不一致造成的。我的开发环境是64位windows8 Pro,安装了64位jdk1.6,eclipse却粗物的安装了32位的版本,由于64位和32位匹配不一致,造成了

2013-01-22 09:55:28 4319

原创 Google Maps SDK for iOS使用初探(一)

iOS6.0开始,苹果放弃了谷歌地图,开始在MapKit中运用自己的地图数据源,但在苹果地图出了各种坑爹的幺蛾子以后,用户一片吐槽。在这时,谷歌适时重返了iOS平台,但却换了一种形式,谷歌推出了Google Maps SDK for iOS以及相应的应用,顿时用户一片感慨,纷纷力挺。但Google Maps SDK for iOS对iOS系统是有一定限制的,由于本身文件很大(解压后居然有1

2013-01-21 13:42:00 6285

原创 iOS应用后台运行GPS定位功能的实现

最近终于回归iOS了,一会来就碰到了定位相关的功能要求,客户要求即使应用挂起也可以执行GPS定位,并在位置发生变化时根据你的需要唤醒应用。稍微研究了一下,实现方式跟音频后台播放类似,在应用的plist里添加后台运行设定即可。Apple官方说明原文:An app that provides continuous location updates to the user (even w

2013-01-21 11:26:40 8338 2

原创 WMware+CentOS环境简单网络设定

刚装好的WMware+CentOS环境,其他的机器或虚拟机是无法直接访问的,通过以下的简单设定即可进行访问。确认WMware的网卡设定连接方式使用【桥接】查看当前网络连接状况输入:ifconfig刚装好的系统首次执时,只能看到lo一项,没有显示网卡系统装好是其实是有虚拟网络的,只不过默认没有启动。找到并设置虚拟的网络输入:cd /etc/syscon

2012-12-19 14:38:21 1084

原创 CentOS命令行模式下安装openssh客户端

从没搞过linux环境,最近工作形势所逼,初步学习了下,记录下一些操作方法,备忘。 CentOS命令行模式下安装openssh客户端 CentOS系统自带了openssh的服务器端程序,但没有安装ssh客户端,客户端的安装方法记录如下:查看本地服务输入:chkconfig结果中可以看到sshd一项,确认当前环境下服务是否已经运行(命令行环境下,确认2或者3是否是on)查

2012-12-19 14:02:32 12717 1

原创 Windows 8 Metro中GridView的Group化和SemanticZoom控件的配合使用

将一个GridView分组,将同一类型的条目放一个区域,使得用户能够方便地查找要找的内容。但是如果分类较多、又杂,还是会有些许不便。这里就需要用到一个名叫SemanticZoom的控件。SemanticZoom,中文翻译不知道说好,直译的话叫做语义变焦。其作用是为开发者提供两个视图,一个用来描述详细信息,一个用来描述简要信息。通过手势张开和合拢来切换两个视图。先来看下效果图。

2012-11-30 17:55:45 1726

原创 Windows 8 Metro中对GridView或ListView使用分组功能详解

在应用中使用GridView或ListView可以页面上很多信息能更明朗化,如果再加上分组的话那就更清晰了。以下是本人查阅资料整理的关于Group化的知识点。 先来张效果图: 以GridView为例,步骤如下: 1、在XAML中先放一个GridView控件,然后右击该控件,选择添加分组。 添加以后,标签里会自动添加一长串代码,如下:

2012-11-23 11:29:42 4297

原创 Windows 8 Metro应用中 Google Analytics功能的使用

Google Analytics 是Google为网站提供的数据统计服务。可以方便的为用户统计网站或应用的使用数据并作出分析。最近在研究其他智能手机平台上常用的一些功能在Windows 8 Metro应用中的实现方法,刚刚调查了Google Analytics的实现方式。Google Analytics官方暂时没有提供针对windows8 Metro应用的专用SDK。但是万幸找到了

2012-11-20 16:34:24 1376

原创 Windows 8 Metro应用中画面初期化时await异步取得数据后的画面数据绑定

Windows 8 Metro应用的开发中可以通过使用await、async关键字很方便的实现异步处理。  在CS应用中,画面上数据表示通常的做法一般是设置好画面控件的数据绑定后, 先从网络API获取数据,再自动的将数据通过数据绑定表示在画面上。  但是在学习过程中遇到了问题,发现在画面初期化时,调用await异步处理获取数据后,得到的数据并没有显示在画面上。  查阅了msdn官方的说

2012-11-20 16:13:40 1123

原创 Windows 8 Metro应用中使用调摄像头截图、截视频的功能

事先声明:本篇文章写的有些不负责任,因为本人机子上未装有摄像头,实际效果未能检测。 调用设备的摄像头,需要用到的是Windows.Media.Capture的命名空间。使用方法很简单,步骤如下: 1. 在XAML中加个按钮,用来点击调用摄像头。2. 在.cs文件头部加入命名空间的引用。using Windows.UI.Xaml.Controls; 3. 在按

2012-10-31 10:04:38 1860

原创 windows8 Metro环境下Bing Map SDK的安装与使用

必应地图现在有了针对Windows Store App的SDK,可以很方便的把Bing地图功能整合到自己的应用当中。 最近参照官方说明文档操作了一下,果然比较好用,记录下经过以备日后使用。 1.环境安装 操作系统:   Windows8 Pro 64bit (RTM) 开发工具:   Microsoft Visual Studio Professional 2012(RTM)

2012-10-19 10:13:01 2243 1

原创 Windows8 Metro应用中使用Twitter功能简介

以下是在Windows8 Metro应用中如何使用Twitter功能的步骤:1、在自己的工程中打开NuGet管理器,在Online那一栏中搜索TwitterRT,下载并安装。 2、在你需要添加Twitter功能的page上加上两个按钮,一个登陆认证,一个是向Twitter发送Twitter文。 Authorize Twitter

2012-10-17 10:31:00 1328

原创 如何给Metro Style App写测试代码

给自己的Metro风格的程序写测试代码,步骤如下:1、新建一个工程,如下图选择单体测试的那一项 2、在新建的工程,找到UnitTest1.cs文件,并编写测试代码。也可以将其删除,自己添加一个空类,但必须注意以下事项:    1)在文件头部加入using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;的引用。

2012-10-16 12:00:15 972

原创 Windows8 Metro应用中Facebook 功能的简单应用

最近在学习Windows8 Metro应用的开发, 由于是本职是iOS开发,所以很多切入点都是参照iOS平台。 iOS应用中,经常会加入Facebook 、Twitter、微博等交互相关功能,因此首先就研究了一下在Windows8 Metro平台下相对应功能的实现方法。 iOS平台上Facebook功能的实现很方便,直接使用Facebook 官方的SDK For iOS就可以了,但对于Wi

2012-10-16 11:46:16 2042 1

原创 Win8 Metro风格应用中梯形动画的一种实现方法(C# & XAML)

Win8 Metro风格应用中对各种形状的描画函数可以说比较齐全,矩形,梯形,圆形都可以很方便的描画出来。  然而,在使用这些描画出来的形状进行动画处理的时候,会发现实现方法的差别还是很大的。  比如,将一个矩形在1秒以内宽度从100增加到300的动画,使用如下方法就可以简单实现:  1. 画一个矩形:     2. 在父容器的resource里添加如下storyboa

2012-09-25 09:45:33 2178

原创 面向smartphone的html开发经验技巧共享

1. 左右滑动翻页左右滑动翻页是smartphone的一个鲜明特点。如果能够在HTML中也能实现左右滑动翻页的话,那就看上去很符合smartphone的风格了,能够给用户很好的体验。目前还很难找到完美的解决方案,一般只能借助一些别人写的免费的javascript,结合自己根据实际情况进行调整和修改。前段时间正好做过这类页面,我的解决方案是flipsnap + iscroll。fli

2012-08-24 16:19:28 1364

转载 BS与CS的联系与区别

联系:C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQL Server。客户端需要安装专用的客户端软件。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装O

2012-08-17 17:51:08 872

原创 iOS应用中NTP的使用

Network Time Protocol是用来使时间同步化的一种协议,可以通过网络取得当前时间,而不依赖与于本地系统时间。 在iOS应用的开发过程中,经常会需要取得系统时间,对绝大多数的应用来说,[NSDate date]就已经足够了,但是单纯 利用系统时间的弊端在于,系统时间是可以被用户随意修改的,当应用对时间的要求比较高的场合,系统时间就不那么可靠了。 比如按期收费订阅等处理

2012-08-02 10:34:34 2019

原创 objective-c中对象复制的几种情况

objective-c中有NSCopying和NSMutableCopying两种协议,分别定义了copy和mutableCopy两个方法。如果某个类要实现这两种对象拷贝,必须实现上述两个协议。首先我们要搞清楚copy和mutalbeCopy的区别。众所周知,objective-c中,有NSString和NSMutableString,NSArray和NSMutableArray等

2012-07-24 20:58:48 3653 1

原创 Xcode4单体测试结果覆盖率的确认方法

正式项目中,单体测试是必不可少的。如果遇到了比较严格的客户,可能会要求测试的覆盖率达到一个具体的标准。  这种情况下,可以利用CoverStory来查看UnitTest的测试结果,统计出总体和各个详细模块的测试覆盖率。 操作步骤如下: 1. 安装CoverStory  (下载地址) 2. 修改Xcode中Test Target的build setting      Gene

2012-07-17 11:38:29 1892

原创 UIWebView使用中的内存相关问题

在iOS5平台开发应用的过程中,发现使用UIWebView通过NSURLRequest加载网页后,即使UIWebView所在画面关闭,仍然有内存无法释放。 结果就是,通过UIWebVIew访问的页面越多,应用的内存占用也越多,从而有导致内存警告而造成程序退出的可能。 通过调查网上的相关资料,发现UIWebVIew的内存问题由来已久,在iOS4时代就已经存在。 stackflow有大量

2012-06-20 10:27:38 17891 1

原创 在jenkins中配置selenium测试

jenkins是流行的集成测试工具,在上面建立编译,发布,运行单体测试的任务都非常方便。selenium是优秀的Web画面的自动化结合测试工具,它的测试代码有两种形式。一种是用java,C#等高级语言编写的,特点是功能强大。另一种是用HTML写的,特点是使用方便。下面以HTML形式的test suite为例,说明如何在jenkins中配置selenium测试。先下载插件

2012-06-18 17:04:14 10796 2

原创 iOS ARC环境下dealloc的使用

众所周知,iOS开发的时候,使用ARC的话,dealloc函数是不需要实现的,写了反而会出错。但有些特殊的情况,dealloc函数还是需要的。比如,在画面关闭的时候,需要把ViewController的某些资源释放,在viewDidDissppear不一定合适,viewDidUnload一般情况下只在memory warning的时候才被调用。不用ARC的情况下,我们自然会想到de

2012-06-18 16:59:17 23446

原创 iOS ARC也会有内存泄露

iOS提供了ARC功能,很大程度上简化了内存管理的代码。但使用ARC并不代表了不会发生内存泄露,使用不当照样会发生内存泄露。下面列举两种内存泄露的情况。1,循环参照A有个属性参照B,B有个属性参照A,如果都是strong参照的话,两个对象都无法释放。这种问题常发生于把delegate声明为strong属性了。例,@interface SampleViewControll

2012-06-18 16:28:31 14238

原创 Mac OS环境下媒体文件分割工具mediafilesegmenter的简单使用

mediafilesegmenter是苹果开发的一款用于分割媒体文件的工具,其功能与mediastreamsegmenter相似,但操作更简单。  * 具体可以对比博客中的另一篇简介《Mac OS环境下流媒体分割工具mediastreamsegmenter的简单使用》下面简单介绍一下使用的方法: mediafilesegmenter相对于mediastreams

2012-05-25 11:09:02 6975

原创 MyEyes项目开发日记之三(添加新浪微博功能)

为了增加MyEyes软件的互动性和推广,我们希望加入在测得视力后把结果分享到新浪微博的功能。不过由于新浪微博的审批程序的繁琐。在首次发布时,我们打算先屏蔽微博功能。但实际微博分享代码已经加入到程序里。下面就简单介绍下如何使用微博sdk。1.首先从以下新浪开发者平台下载新浪微博SDK包。(当然,如果觉的对方挺供的sdk包封装的方法不好,也可以自己直接调用新浪提供的微博API,自己封装接口)新

2012-04-24 21:00:01 2378

原创 MyEyes项目开发日记之二

MyEyes项目中比较有特点的功能之一,就是根据用户长期使用的记录生成视力变化曲线图,以便用户可以更加直观的看到被测试者视力变化的趋势。 功能描述很简单,但这个看似简单的功能可能会扩大潜在的用户群,比如用于年轻父母对自己孩子从小开始的视力变化的关注,有助于预防孩子近视发生。 基于这个初衷,应用中添加了视力折线图的功能。 简单效果如下图:

2012-04-24 20:43:19 822

原创 MyEyes项目开发日记之一

MyEyes作为一个视力保健应用,在最初立项之初就定下了检查视力的基本功能。 到底怎么实现这个功能,着实费了一点脑筋。虽然并不是专业的视力检查应用,但也不能做的误差太大,否则就完全失去了这个功能存在的意义。 除此之外,还需要结合手机的操作方式以及特点。 最后总结出了以下思路:   1. 结合手机应用的实际,将常规视力检查一整张对数视力表检查的方式,改为单个视标(也就是E

2012-04-24 19:45:33 1274

原创 Mac OS环境下流媒体分割工具mediastreamsegmenter的简单使用

mediastreamsegmenter是Mac OS 10.6以后自带的一个流媒体分割工具,能够将流形式的媒体文件分割并保存为m3u8文件。 由于没有提供图形化界面而且相关介绍比较少,对于很多初次使用的人来说比较难于着手。  * mediastreamsegmenter的参数很多,具体的说明可以在Mac控制终端里使用 man mediastreamsegmenter 命令查看。

2012-04-24 14:14:56 11309 1

原创 enable和userinteractionenabled的区别

项目中遇到的问题,这两个属性对于控件的显示效果是有一些区别的,比如如果用enable的话,有些空间的背景图看不清楚,甚至消失。如果换成userinteractionenabled的话有可能会解决这个问题。

2012-03-23 15:28:49 2974

原创 局域网内如何使用另一台终端访问开发环境下的Azure Emulator

实际开发中,有可能需要通过局域网中的另一台电脑或手机访问开发环境上的Azure Emulator。而Azure Emulator本身并不支持局域网内的其他机器访问,通常只监听127.0.0.1:81的请求。这就需要通过第三方端口转发工具,比如portforward。例如在开发环境中启动的Azure Emulator上,本地访问的URL是127.0.0.1:81,只需要在po

2012-02-17 13:23:56 998

转载 iOS 5 ARC完全指南——深入浅出全面讲解ARC,整理PDF与大家分享!!!

ARC完全指南    iOS 5最显著的变化就是增加了Automatic Reference Counting(自动引用计数)。ARC是新LLVM 3.0编译器的特性,完全消除了手动内存管理的烦琐。在你的项目中使用ARC是非常简单的,所有的编程都和以前一样,除了你不再调用retain, release, autorelease。启用ARC之后,编译器会自动在适当的地方插入适当的re

2012-02-14 09:37:13 1671

原创 Tried to obtain the web lock from a thread解决方法之一

项目中一个UIViewController内使用异步线程,异步线程未执行完时pop退出此画面,程序crash。控制台打出错误如下:Tried to obtain the web lock from a thread other than the main thread...经调查,发现是由于UIViewController的release方法没有在主线程中调用造成的cr

2012-02-08 14:42:51 6231 1

原创 退出程序

在iOS程序中,如果需要用户通过点击按钮退出程序,直接使用C语言的函数exit(0)退出即可。网上流传的使用非公开api“terminateWithSuccess”来退出的方法,经过实际验证会无法通过苹果审核。

2012-01-06 13:04:15 768

翻译 在UIWebview中加载的网络页面上点击邮件地址不响应(解决办法)

程序中使用UIWebview去加载网络页面很常见,在页面上经常有mail地址以供点击发信。最近做项目时发现本地页面上点击mail to的链接,可以正常出现送信画面,但在网络页面上点击mail to的链接,却没有反应。搜索了下网络,解决办法如下:在UIWebView的delegate里添加如下代码:- (BOOL)webView:(UIWebView *)webView should

2011-12-22 16:01:07 1503 1

翻译 Transitioning to ARC Release Notes

Transitioning to ARC Release Notes自动引用计数(ARC),是一项为Objective - C程序在编译时提供自动内存管理的功能。ARC可以让你把注意力集中在你感兴趣的代码,对象图,和你的应用程序中的对象之间的关系,让你不必再花费精力在retain和release操作上。正如下图所示,ARC可以减少开发中的内存管理步骤,简化开发。Co

2011-11-16 09:06:40 1899

原创 IOS如何调用WCF服务

为某项目做的前期调查。目前可以实现检索,登录等相关机能,部分实现上传文件机能。上传文件仍有大小限制的问题,文件较大时,会出现上传失败的现象(2MB左右的文件会上传失败,),原因暂时不清楚。项目内调查结果如下:WCF服务端:1.定义WCF协议接口(Interface)[ServiceContract]public interface IUpLoadService{ [Operat

2011-11-03 17:22:28 13239

NTP_Component.framework for ios

基于jbenet/ios-ntp开源代码以及CSDN资源《ntp客户端实现 for ios》封装的NTPframework。 使用方法:解压后拷贝framework文件夹到工程目录并添加到工程中,再添加CFNetwork.framework即可使用。 在viewcontroller中调用[[NetworkClock sharedNetworkClock] updateDate]; 并实现GetNTPDateDelegate的-(void)getNTPDate:(NSDate *)date方法,参数的date就是取得的网络标准时间,可以在getNTPDate方法中随意设定地域信息及格式后设定画面表示

2012-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除