弄到台淘汰的iPhone 3G一看系统还是2.2的,Orz。这么古老的系统在AppStore中基本没什么新版程序可以下载使用了,蛋疼的居然还是有锁版的只能越狱后解锁才能使用,记录下过程以后方便再次越狱时参考。
一些信息:
越狱工具:
解锁步骤:
越狱完后,可以在Cydia里下载ultrasn0w来解锁,解锁分为几种情况:
使用第3种方法升级到iPad基带后是不可以降级的了,但想使用SIM卡也只能这样了。:-)
大致过程就是这样,具体的细节到时忘了再google,大把文章。
update @ 2012-06-10: 安装iPad基带时不能同Cydia一起安装,不然redsn0w会闪退(这时得重新用itunes还原官方ROM再重新越狱)。解决方法是分开安装,如安装完cydia后,再运行一次redsn0w安装iPad基带。
在App Store中升级xcode 4.3.2感觉速度比较慢,于是手工下载安装后将Launchpad中程序弄乱了,一直显示下载中看起来很不舒服,被俺人肉搞定后才发现有一些专门管理Launchpad的程序可以直接拿来使用,如:Launchpad Control等。
其实Launchpad中的程序图标配置信息都存放在sqlite中,找一个sqlite管理工具便可自己随便操作了,步骤如下:
1. 设置Finder可以显示隐藏文件,在终端下执行:
defaults write com.apple.Finder AppleShowAllFiles YES
2. 按住alt并右键点击Finder图标,选择“重新开启”
3. 进入~/Library/Application Support/Dock目录,将会看到一个UUID.db的文件,备份一下。
4. 用sqlite管理工具打开后将会看到几个表,在apps,groups表中删除相关记录。
5. 注销一下再登录系统让Launchpad重新读取刚刚的修改。
有时为了美化UITextField样式会使用自定义背景图片而将本身的边框隐藏,这时基本上光标的位置都不会很合适,而UITextField默认不可以设置padding,咱们可以自定义一个子类实现padding。
//
// UITextFieldEx.h
//
#import <Foundation/Foundation.h>
@interface UITextFieldEx : UITextField {
BOOL isEnablePadding;
float paddingLeft;
float paddingRight;
float paddingTop;
float paddingBottom;
}
- (void)setPadding:(BOOL)enable top:(float)top right:(float)right bottom:(float)bottom left:(float)left;
@end
为了解决这个问题,整整调试了一个多星期。对照教程一遍又一遍的测试,一直以为问题出现在代码上。结果是因为iphone越狱过引起的,刚刚还原到官方版本后,没有问题了。
以前有看到网友提过可能是越狱引起的,由于懒得刷回官方版本(主要想越狱后用手势插件)完成测试后再越狱,随便找了几个流行的程序点击In-App Purchases功能进行测试,都能正常弹出支付对话框,由此判断是自己代码问题。结果……
如果手机没有越狱,一样返回invalid product identifiers,那么可以参照下面这个列表对照看有没有什么步骤漏掉了。
可能造成返回invalid product identifiers的原因列表:
http://troybrant.net/blog/2010/01/invalid-product-ids/