2010年2月24日 星期三

Camera Overlay


今晚花了點時間嘗試 Camera Overlay,發現很簡單易用。不過,在模擬器下執行會跳回 HOME 畫面。
#ifdef TARGET_OS_IPHONE
BOOL cameraAvailable = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
if (cameraAvailable == YES) {

// Create a new image picker instance
picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.showsCameraControls = NO;
picker.navigationBarHidden = YES;
picker.wantsFullScreenLayout = YES;
picker.cameraViewTransform = CGAffineTransformScale(picker.cameraViewTransform, CAMERA_SCALE_X, CAMERA_SCALE_Y);
picker.cameraOverlayView = mainView;
[self presentModalViewController:picker animated:YES];
[picker release];
}
#endif

2010年2月23日 星期二

取消 UIWebView 的拖拉效果

由於要達到「多色句子」的效果,我需要用上 UIWebView 來達成;可是,這樣的話會衍生另一個問題!就是 UIWebView 的拖拉效果。原來要取消 UIWebView 的拖拉效果有兩個方法:

第一個方法是最簡單直接:
webView.userInteractionEnabled = NO;

第二個方法也行,但比較複雜:
@interface UIScrollView (extended)
- (void)setAllowsRubberBanding:(BOOL)allowsRubberBanding;
@end

@implementation webView

- (void)viewDidLoad {
[(UIScrollView*)[webview.subviews objectAtIndex:0] setAllowsRubberBanding:NO];
}

2010年2月22日 星期一

「字串取代」的技巧

在遊戲製作的過程中,很容易會在一句句子中用上不同的顏色;可惜最常用的 UILabel 並不支援多色處理。為了要達到目的,我只好使用 UIWebView 來代替。顧名思義,UIWebView 其實是一個瀏覽器介面,HTML 語法支援的它都一樣支援。

基本上,我們發展「多色句子」時都會使用自己的格式,因此,我們需要把句子中「轉色」的語法轉換成 HTML 語法。這時需要用上「字串取代」功能。以下是 NSString 的例子:
NSString *message = @"Hey, Tony!  How are you?";
message = [message stringByReplacingOccurrencesOfString:@"Tony" withString:@"Pacess"];
有時為了有效使用記憶體,避免建立太多臨時性質的 NSString,會改為使用 NSMutableString。那麼「字串取代」會換成:
NSMutableString *message = [[[NSMutableString alloc] init] autorelease];
[message appendString:@"Hey, Tony! How are you?"];
[message replaceOccurrencesOfString:@"Tony" withString:@"Pacess" options:NSLiteralSearch range:NSMakeRange(0, [message length])];

2010年2月21日 星期日

AppSales Mobile 改動

這幾天,我最愛用的 AppSales Mobile 再一次無法更新,原來是 Apple 再次把網頁作出改動。我一直使用的 AppSales Mobile 是 2.0 版本。原本打算使用 omz 的 3.0 版本,可是這個版本刪除了載入本地報告的機能,這可是一個很麻煩的問題。一來 iTunes Connect 的每日報告只保留七天,意味著要在七天內更新一次,否則會遺失部份報告。二來當重新安裝後,舊有的報告是無法導入軟件之中。基於以上原因,我只好修改現時使用的 2.0 版本。修改的方法如下:

1) 把 @"11.13.1" 改為 @"17.13.1"
2) 把 @"11.15.1" 改為 @"17.15.1"
3) 把 @"11.11" 改為 @"17.11"
4) 把 @"11.9" 改為 @"17.9"

2010年2月20日 星期六

PhotoHunt 復活!


自從 2009 年聖誕節開始,我的生意額多了接近 100%,當中沒有推出過新產品或者是更新現有產品的功能。雖然總營業額仍然很低,不過卻是一件好事。

既然運勢這麼好,我也不得不思考一下再創高峰的方法,在既有的產品中增加收入的方法(由於我成了現職公司的競爭對手,所以不能再推出新產品),就只能把「PhotoHunt 系列」重新上架。這時想起了舊同事阿銘對於他那個 DS 模擬器的處理方法。

2009 年 6 月,「PhotoHunt 系列」上架後不久,收到 AMI Entertainment Network, Inc. 公司的通知,指她們已在美國註冊了「PhotoHunt」商標,所以我不能銷售「PhotoHunt 系列」。而我當時亦把「PhotoHunt 系列」全線落架。得到阿銘的啟示,既然商標是在美國註冊,那不在美國 AppStore 賣就好了,在其他地區 AppStore 仍然可以!於是我決定把「PhotoHunt 系列」復活!經過個多星期的印證,我的收入又再增加了!

2010年2月7日 星期日

決定續約 iPhone Developer Program


我的 iPhone Developer Program License 快將到期。因為收入很少,原本不打算續約,但得到一位朋友的提醒,我決定續約。其中一個原因是,續約後我可以繼續為社會作出一點貢獻。我仍然會把收入的 10% 捐給「世界宣明會」。不經不覺,已經貢獻了四次,雖然付出的不多,但對於一向少做善事的我,這個習慣真是要保留及繼續。

2010年2月6日 星期六

Amigo Mini 的雙腿


Amigo Mini 的雙腿。手工很差,東歪西倒,真的要跟 Keith 拜師學藝!