重要提示

搬家了!搬家了!這邊很久沒有更新,基本上處於三天曬網,二天捕魚的狀態。實在是小弟的不應該XD。目前我搬家到 科科報 http://news.darkwing.co ,並且我們正在徵求共筆作者(有稿酬),希望能找到一起管理與合作的對象。請有意願加入共筆的朋友,請寄信至 support01[at]darkwing.co 謝謝喔~

6/02/2014

2014 WWDC 與開發者相關的重點整理


以下節錄我覺得重要的幾個項目給大家參考。依照重要性排列:


1. iOS 8 上不同的 app 終於可以做朋友,互通資料和功能
http://chinese.engadget.com/2014/06/02/apple-ios-apps-extensibility-share-data-features/


2.終於!iOS 終於可以安裝第三方的鍵盤了
http://chinese.engadget.com/2014/06/02/apple-ios8-third-party-keyboards-swiftkey/

3. App Store 加入捆縛式 App 出售方式,以及提供 App 的預覽影片
http://chinese.engadget.com/2014/06/02/apple-app-store-bundles/


4. Touch ID 不止用來開機解鎖,更可以用在其他APP中。
http://chinese.engadget.com/2014/06/02/apple-opens-touchid-to-other-apps/

5. iOS 8 也有  Widget 小工具了! 在下拉的通知中心列,隨時下拉就能看到Widget內容。
http://chinese.engadget.com/2014/06/02/ios-widgets/

6. iCloud Drive - 跟Google Drive 和 Dropbox搶生意
http://chinese.engadget.com/2014/06/02/apple-takes-on-internet-storage-with-icloud-drive/

7. Home kit 智慧家庭的實現

8. Swift 程式語言(用來代替objective-C)

4/23/2014

在iOS上傳檔案到Google雲端硬碟 How to upload file to google drive in Objective-C?)



最近在寫檔案上傳的功能,希望可以將檔案上傳至Dropbox和Google drive。


以下是如何在iOS開發,使用Google client api library for objective-c 上傳至Google drive的步驟

(1) google sdk 應用程式 在使用 oauth2 登入時 進行權限要求 

https://developers.google.com/drive/web/scopes
例如: google drive 權限 https://www.googleapis.com/auth/drive.file

(2) google drive 如何利用 google drive sdk 上傳檔案
https://developers.google.com/drive/v2/reference/files/insert
可以參考網址中所描述的 insertFileWithService方法

(3) google drive 更新已經上傳的檔案的 「權限」
https://developers.google.com/drive/v2/reference/permissions/insert
上面網址有提供一個 insertPermissionWithService方法,只要給identifier就可以修改對應此identifier的檔案權限。
並有提供一個線上編輯器可以進行參數傳遞的模擬操作。
權限相關參數可以參考這裡 https://developers.google.com/drive/v2/reference/permissions 和 https://developers.google.com/drive/web/manage-sharing


(4)google drive 上傳檔案時如何顯示進度
https://code.google.com/p/google-api-objectivec-client/wiki/Introduction#Uploading_Files
透過 GTLServiceTicket 追蹤目前進度(有範例程式)



 

2/18/2014

How to handle ios rotate in iOS6 and iOS7


網路上介紹了一堆關於 iOS rotate 的處理方法,有iOS5, iOS6, iOS7個版的不同。通常都會告訴你要加東西在viewController或是navigationController,但是我試了半天,依然是有問題,最後找到一勞永逸的方法。四個步驟,一次搞定!(只是這個方法僅支援iOS6, iOS7)


1.在AppDelete中加入
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
    

    NSLog(@"navigationController.visibleViewController = %@", _foldVC.rootViewController.visibleViewController );
    
    if([rootViewController.visibleViewController isKindOfClass:NSClassFromString(@"videoDetailViewController")]
       || [rootViewController.rootViewController.visibleViewController isKindOfClass:NSClassFromString(@"playerViewController")]){
        
        return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape;
        
    } else{
        
        return UIInterfaceOrientationMaskPortrait;
        
    }
}


2/17/2014

Change UISearchBar cancel button background image, text color and font (自定UISearchBar中,button的樣式與背景)



The principle, find the UIButton in UISearchBar by iterative all subviews.

主要概念是找到在UISearchBar中的UIButton物件,然後對此物件進行修改。要注意的是,必須寫在 searchBarTextDidBeginEditing 事件中的原因是,只有在 UISearchBar 是 focus on的狀態下,cancel button才會出現。這個時候才能透過迭代找到。


- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
   
 
    self.searchBar.showsCancelButton = YES;

    for (UIView *subView in self.searchBar.subviews) {
        if ([subView isKindOfClass:[UIButton class]]) {
            UIButton *cancelButton = (UIButton*)subView;
            
            
            [cancelButton setEnabled:YES];
            [cancelButton setTitle:@"Cancel" forState:UIControlStateNormal];            
            [cancelButton setBackgroundImage:[UIImage imageNamed:@"button-green"] forState:UIControlStateNormal];            
            [cancelButton setBackgroundImage:[UIImage imageNamed:@"button-green-highlight"] forState:UIControlStateHighlighted];
            
        }
    }
    self.searchBar.autocorrectionType = UITextAutocorrectionTypeNo;

    
    
}



 這邊有找到另外一個說法,但沒有經過考證(目前手上沒有iOS6的機器,但模擬器上不會遇到這個問題),說是iOS7之前的版本,UISearchBar內的物件不是UIButton,而是UINavigationItem?,所以迭代的時候判別式內要稍微修改一下。

if ([subView isKindOfClass:[UIControl class]]) {
 
 ...

}

2/02/2014

git deploy to product server(使用git發佈最新版本到正式機)



程式開發了一段時間,要將新版本deploy到正式機。面多數量龐大的檔案,你壓根不知道從什麼地方開始上傳,也許你會用FTP軟體(例: FileZilla) 重新將整個project上傳一次,這可是個大工程!

這個時候如果有在使用git做版本控管的話,為什麼不試著直接將最新版本 push到正式機上呢?反正最新版本早就已經存放在git server(ex: github or bitbucket)上面了阿,不有效利用一下豈不可惜XD


以下是設定步驟:



(1). 先將project重git server download下來,如果你的正式機上已經有一個設定好git的進行中版本,就不需要這個步驟。

git clone http://...


1/20/2014

Create web page thumbnail by wkhtmltoimage(使用wkhtmltoimage產生網頁縮圖)



基本安裝
http://www.catchstudio.com/labs/php-screenshots/


中文字型亂碼解決
http://dev.sopili.net/2012/06/wkhtmltoimage-screenshotubuntu.html




需要特別注意的是,css會影響縮圖的產生。




例如:

我在css中設定

opacity: 0.5;

的時候。



掛!




會吐出 segement fault的錯誤訊號。

導致縮圖無法成功產生。這表示wkhtmltoimage並沒有完全支援每一種CSS效果。
但是也找不到他到底支援哪些效果的說明文件。所以有需求要使用的人只好 try and error 囉。


9/29/2013

FinalTube Pro 上架成功,再次徵求適用者,協助測試將贈送FinalTube Pro版軟體!



什麼是FinalTube?
您可以參考 這裡1 這裡2


FinalTube 再次徵求試用人員,試用人員必須:

(1)對軟體有想法,當我們詢問您的意見,你要說得出話來。
(2)能夠告訴我們這套軟體有沒有bug,例如:哪裡會閃退。
(3)你覺得這套軟體有什麼優缺點?
(4)你必須真的想要使用這套軟體,覺得這套軟體可能會是你需要的工具。
(5)測試完畢,必須幫忙上app store評分


我們目前將徵求10名測試人員,女性5名,男性5名。願意測試者請寄信到我的信箱finalevillee@gmail.com 主旨請輸入「我想參加FinalTube測試」

我們將會提供app promote code給您。使用app promote code 即可在 app store免費下載 FinalTube專業版。並且可永久終生免費使用。

沒有使用過promote code的捧油可以參考這裡