控制iPhone短信收发

盛大最近在做“有你”类似iMesssage、TextFreek、biteSMS的应用,主要功能是拦截短信录取联系人并控制短信收发。Android、Symbian等其他移动平台都可以,唯独iOS这块不行,没有这个官方SDK和权限。需要越狱才能达到以上这些功能。

虽然这个有点不太道德,但是还是答应下来。最近两天潜心研究,得出成果,如下:

发短信一般有两种方式,一是打开/dev/tty.debug使用AT命令操作,二是直接使用apple的私有库(CoreTelephony)操作。

第一种:
使用通过minicom的sendmodem(http://code.google.com/p/iphone-elite/wiki/sendmodem)发送AT。
像设置信息格式等一般的命令都可以很好的执行,但是像读取信息、发送信息等这样的命令一概会报ERROR。
而且这个方法有个弊端,因为minicom一定要再关闭通讯中心(launchctl unload -w /System/Library/LaunchDaemons/com.apple.CommCenter.plist
后才能使用,所以在执行AT命令过程中是没有其他程序能够通过运营商通道通讯,比如不能通过原有程序打电话和发短信。

以下是收集的一些AT资源:
sendmodem:http://code.google.com/p/iphone-elite/wiki/sendmodem
C:http://blog.csdn.net/xinghexiyue/archive/2011/03/23/6270732.aspx
iphone-sms:http://code.google.com/p/iphone-sms/
A Convenient Tool to Send AT Commands:http://george.insideiphone.com/index.php/2007/11/25/a-convenient-tool-to-send-at-commands/

第二种:
添加CoreTelephony框架(在4.0以下是Private API),但是在4.0以上这个框架变成Public API,取消了所有的通讯功能,只有一些无关痛痒的功能(比如返回运营商信息)。

第三种:
使用 MessageUI框架中的MFMessageComposeViewController,可以在App中发送短信。但是不能修改发送短信UI,也不能自动发送短信。

总结:
以上方法对于“有你”的要求都不行。还有几个方法在尝试中,测试完毕也会及时更新。

iPad和iPhone的Safari“添加至主页”功能自定义图标

今天知道嘉实多要买100台iPad赠送给客户,我们要配合安装预置程序以及初始化设置。其中要把嘉实多主页保存到iPad主界面上,但是图标需要自定义。

方法如下:

对收藏的页面加入代码:
<link rel="apple-touch-icon-precomposed" href="/icon.png" />
icon.png的尺寸是114×114,不需要做圆角和高光,iPad会自动加。

PS:如果不做如上设置,则iPad会对网页截图并做为图标。

UIImageView frame设置顺序问题

问题描述:
今天做AD ipad版展示功能点,背景不显示。

问题分析:
检查代码,其他都没什么问题。发现设置frame在设置image之前。

代码如下:

UIImage *backgroundImage=[UIImage imageNamed:BACKGROUND_FILE_NAME];
_backgroundImageView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, backgroundImage.size.width, backgroundImage.size.height)];
_backgroundImageView.image=backgroundImage;

问题解决:
把设置frame代码放置在设置frame之后,一切安逸了。

代码如下:

_backgroundImageView=[[UIImageView alloc] init];
UIImage *backgroundImage=[UIImage imageNamed:BACKGROUND_FILE_NAME];
_backgroundImageView.image=backgroundImage;
_backgroundImageView.frame=CGRectMake(0, 0, backgroundImage.size.width, backgroundImage.size.height);

Icon for iOS

App Store Icon

  • 512x512 (scaled down to 175x175 for display in the store)

Application Icon

  • 114x114 (iPhone 4)
  • 57x57 (older iPhones)
  • 72x72 (iPad)

Spotlight Search Results and Settings Icon

  • 58x58 (iPhone 4)
  • 50x50 (Spotlight results for iPad)
  • 29x29 (settings for iPad and older iPhones)

Document Icon

This is a new icon type in iOS 4. It’s used if your app creates a custom document type. The iPad uses the document icon in two different sizes.

  • 320x320 (iPad)
  • 64x64 (iPad)
  • 44x58 (iPhone 4)
  • 22x29 (older iPhones)

Core Data 修改 Model 出错

问题描述:这几天在做Red Frog,使用了Core Data。修改了.xdatamodel,程序就莫名跳出。

问题分析:因为是iOS 3.0开始才有的,我的《iPhone开发基础教程》 中还没有。借了vin的《iPhone开发基础教程3》看了下,还是没找到解决方法。

问题解决:设置断点一步一步跟踪,发现是与代码无关。然后就想倒是不是数据库结构改了,导致原来版本的数据库不能用。把模拟器上的程序删了,再调试,一切ok了。