cydia.jpg

今天早上想进Cydia找些软件看看,不料确弹出“database wrong language code zh-Hans”的错误,然后所有的Source和Package都消失了,重启iPhone后问题依旧。百般不得其法,于是Google之,找到了问题的解决办法,记录之,备忘。

首先要确保在iPhone中安装了OpenSSH,然后使用SSH工具登录到iOS设备的控制台中。

1. 进入/private/etc/apt目录
2. 重命名文件夹sources.list.d (mv sources.list.d sources.list.d.bak)。 
3. 新建一个文件夹叫sources.list.d,权限775 (mkdir sources.list.d;chmod 755 sources.list.d)
4. 打开Cydia,你会发现package里已安装文件都出现了,不过source里的源都没有了,不过无任何报错了  
5. 关闭Cydia,重新软件回前面的文件夹,把自己建的sources.list.d给删了,把前面改名的文件夹改回来,权限改为775(rm -rf sources.list.d; mv sources.list.d.bak sources.list.d; chmod 755 sources.list.d) 
6. 打开cydia,点击changes,点击refresh,等结束,会发现又有个框告诉你出错了,关掉,看source那里,过去的源都出现了。

cydia-fix.jpg

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

iPhone的玩家们没有不知道《Angry Bird》这款游戏的。这个游戏在Appstore上待在销售榜上第一的位置上都快有大半年了,虽然最近一度被《Cut the rope》所超越,但凭借着万圣节的资料片,又一举夺回第一名的宝座。上个月接受BBC采访的时候透露,靠着薄利多销的0.99$的方式,这个小游戏仅仅半年间就销售了700万份拷贝!今天研究App store排行榜的时候,发现它和其资料片分别排名整个第三和第一的宝座,凭借万圣节,新一轮的抢钱又开始了。连游戏大鳄EA公司都坐不住了,赶紧弄了2000万美元把其游戏发行商神一样的Chillingo一口收购吃掉。为什么说Chillingo是神一样的公司?看看App store上所有游戏的排名吧,超多超多游戏都是Chillingo发行的……

Gameloft借着在iPhone游戏上的销售,据说已经把别的其它业务都外包出去了,自己只做iOS和Android上游戏的开发了。最近Gameloft宣布已经在苹果App Store销售出2000万套iOS付费游戏,以他们游戏均价4美元左右来看,单单靠iPhone游戏销售过亿美元指日可待。不过最近Windows Phone 7出来搅局,新一轮的移动设备游戏抢钱大战开始了。

Angry Bird究竟有多受欢迎?看看CoCo在GameCenter上好友列表中玩家最近在玩什么游戏的截图上就可见一斑:

 再来两段超可爱的Angry Birds的预告片!

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

前几天升级了iOS4,最主要的目的是冲着iBooks来的。苹果靠着iTunes卖数字音乐,都赚到天文数目的利润。如今随着iPad的推出,iBooks也开始让苹果直接销售电子书赚大钱。从WWDC上的报告来看,iBooks卖电子书的成绩相当不错。

ibooks.jpg

装上iBooks后,直奔book store,却略感失望。抛开英文书不说,几乎没有太多的中文书籍下载,下了部《红楼梦》,发现还没有网友们的电子版做得精美。后来在iTunes上直接将PDF的电子书拖进iTunes中,用iBooks阅读。iTunes会把我们从book store中购买的电子书自动放入iPhone的购买内容的分类中。

而后发现iBooks支持epub通用的电子书格式。于是大喜,从网上Down回大把大把的epub格式的电子书,直接拖入iTunes,怎一个爽字了得。

可惜自己的iPod touch2代,运行iBooks一卡一卡的,128M的内存确实小了些,唯有一声叹息。

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Bug是永远伴随着程序员们的东西,各种各样的情况造成程序crash掉也是家常便饭。Windows下的很多大型软件在崩溃的时候,都会弹出提示框,询问用户是否将crash的信息发送到软件厂商,以供软件开发商debug。App store中的软件也有这个功能,用户在使用软件的时候,如果程序崩溃,错误信息会发送到Apple的服务器中,软件的开发者们可以很方便在后台获得自己程序的crash log,供自己调试。

但随之而来的问题是,我们收到的程序崩溃调试信息多半是汇编语言一样的堆栈代码,同时这些信息并不是在我们debug的时候产生,所以看到这一串crash log的天书,常常无可奈何。Xcode很好的解决了这一问题,它所提供的Orgainzer分析器加上symbolicatecrash,可以分析二进制文件以及源代码和crashlog之间的连接,直接找出源程序中出错的代码行。方法网上到处是,本文不讨论。

但是如果使用symbolicatecrash无法定位到出错的代码行的话,怎么整呢?有一个办法,如下:

首先查看crash log中的崩溃线程,假如是这样的:

Thread 0 Crashed:
0   libobjc.A.dylib               0x00003ec0 objc_msgSend + 24
1   MyApp               0x000036d2 0x1000 + 9938

我们得到了用户发生崩溃情况的内存地址:0x000036d2

然后回到我们应用程序的build目录,目录下一定要包含MyApp.app 和MyApp.app.dSYM两个文件。

在控制台使用dwarfdump命令,解析出内存地址,如: 

dwarfdump –lookup 0x000036d2 –arch armv6 MyApp.app.dSYM

输出信息如下:

dwarfdump.jpg

直接定位到代码的出错行,Cool!

 

 

VN:F [1.9.22_1171]
Rating: 10.0/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

ios4.jpg

当将iPod touch插入USB,iTunes弹出更新iOS4的提示窗口。我明白,一个时代正逐渐落幕,新的时代崭新出发。一个属于iOS4,属于iPhone4和iPad的新时代。沸沸扬扬的传闻逐渐消声,却没有让我这个水果贩失望。

随即找到了晓露同学,作为小白鼠测试iOS4的安装,装完以后说没有发现什么新的亮点。可怜加可叹,iPod touch 8G虽然能毫无障碍升级到iOS4,但多任务、桌面壁纸、蓝牙键盘等功能只能在iPod touch 3代32G以上以及iPhone 3GS才能运行。唉,咱的8G太不待见了。

8G的iPod touch仅能使用桌面文件夹功能,还好有iBooks的全面支持。直接在iBooks的Store中购买各种电子书,免费的也不少,中文的也蛮多。尝试了一下使用XCode 3.2来在iOS4的Device上Debug代码,编译成功,Run的时候提示版本错误,并推荐咱去安装XCode4,残念。又一次跟不上时代,被时代的滚滚潮流所抛弃。上天啊,赐我一个iPhone4吧。

一个时代的终结,一个时代的开始。为什么这么说呢,上图:

NewImage.jpg

itunes-02.jpg

itunes-03.jpg

itunes-04.jpg

itunes-05.jpg

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)