2013年3月28日 星期四

Spinning Wheel 在 iOS 6 畫面變化、失效問題

翻譯自

http://cubiq.org/spinning-wheel-on-webkit-for-iphone-ipod-touch

找到 CSS,將下面加入到 #sw-frame 中即可

個人測試,iOS 5/6, Adnroid 4 均有效

-webkit-transform: translateZ(0);

to the#sw-frame {…-webkit-transform: translateZ(0);}

prop in spinning wheel css file.This forces the rendering engine to apply 3d hardware acceleration from the get go to all the spinner elements.Working properly under older IOS, Android and Playbook.

iCaresoul 小記

很好用的東西

唯一問題是說明比較不全

可搭配 FXImageView 建立倒影

用來建立view 以及控制 view 的大小

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view

要調整位置的話,需要使用 viewpointOffset

// view 的間隔,可用於控制彼此距離多近,間接控制畫面上要出現多少 view

- (float)carouselItemWidth:(iCarousel *)carousel{

return 50;

}

2013年3月21日 星期四

iOS 版本差別查詢 API

Apple Developer Center 的 What’s New in iOS xxx

除了一般常見的 Release Note 之外,還有 API Diffs 可以查地雷區

例如

https://developer.apple.com/library/ios/#releasenotes/General/iOS60APIDiffs/index.html#//apple_ref/doc/uid/TP40011959

2013年3月20日 星期三

修改unbutton, 加入 block

轉貼自 http://www.cocoachina.com/bbs/simple/?t133158.html

使用 Category 方法建立比 subclass 方法好多了

#import <Foundation/Foundation.h>

#import <objc/runtime.h>

typedef void (^ActionBlock)();

@interface UIButton(Block)

@property (readonly) NSMutableDictionary *event;

- (void) handleControlEvent:(UIControlEvents)controlEvent withBlock:(ActionBlock)action;

@end

#import "UIButton+Block.h"

@implementation UIButton(Block)

static char overviewKey;

@dynamic event;

- (void)handleControlEvent:(UIControlEvents)event withBlock:(ActionBlock)block {

    objc_setAssociatedObject(self, &overviewKey, block, OBJC_ASSOCIATION_COPY_NONATOMIC);

    [self addTarget:self action:@selector(callActionBlock:) forControlEvents:event];

}

- (void)callActionBlock:(id)sender {

    ActionBlock block = (ActionBlock)objc_getAssociatedObject(self, &overviewKey);

    if (block) {

        block();

    }

}

@end

進階 https://gist.github.com/joshdholtz/2468899

2013年3月12日 星期二

iOS 按鈕元件比較

目前使用 UIGlossyButton

UIGlossyButton

優點

樣式多樣,按鈕反應為暗色健層

缺點

只提供黑白色文字選項,怕擴充性不足

BButton

優點

使用簡單

按壓反應為逆漸層

缺點

以他的簡單目的來說,算是沒有缺點

NVUIGradientButton

優點

使用簡單

缺點

按壓反應為預設藍色漸層,感覺有點虛啊…

不過似乎持續改進中

2013年3月8日 星期五

iOS 憑證 (p12) 與 keystore 轉換

…我真沒想到前幾篇寫完後,現在竟然還有後續 orz

參考文章

http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

http://stackoverflow.com/questions/4325263/how-to-import-a-cer-certificate-into-a-java-keystore

java keytool 常用方法

https://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html

keytool 手冊

http://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.html

java keytool GUI

http://portecle.sourceforge.net/

keychain access 會產生 private key, public key,並且產生 CSR

上傳 CSR 到 apple dev, 會得到 certificate (dev/dis)

如果需要使用推播,那需要有 SSL 檔案

推播使用的 SSL 檔案也可以經由 CSR 檔案產生

之後就可以下載 push.cer (dev/dis)

然後,

java 吃的是 keystone (可以看成和 certificate on mac 類似的證書)

我們可以把 private key 輸出成 p12

這樣在其他電腦上匯入用該 private key 產生的 certificate/keystore 時

該電腦才可以正確使用那些 certificate/keystore

pem 檔案格式的內容包括了 private key 和 certificate

p12 是匯出 private key 後的檔案格式

pem 是結合了 p12 和 certificate 的檔案格式

certificate: 以 public key 簽署的檔案

將 private key 和 certificates (.cer) 從keychain 匯出後

可以使用

keytool -v -list -storetype pkcs12 -keystore [檔名.p12]

檢查 alias name,準備給匯入指令

匯入指令

keytool -importkeystore -srckeystore [檔名.p12] -srcstoretype pkcs12

-srcalias [ALIAS_SRC] -destkeystore [目標檔名.jks]

-deststoretype jks -deststorepass [p12 檔案所用密碼] -destalias [ALIAS_DEST]

[ALIAS_SRC] certificate 在 .p12 中的 alias name

[ALIAS_DEST] 要放在 JKS keystore 中的 alias name

--

window 用

pfx (軟體憑證):一種帶有私鑰的憑證檔案副檔名。

此檔案支援PKCS12格式標準。

由於pfx檔案帶有私密金鑰,因此具有可攜帶/交換的特性。

2013年3月7日 星期四

使用 RestKit 時會出現 SystemConfiguration framework not found in project 錯誤

使用 RestKit 時會出現 SystemConfiguration framework not found in project 錯誤

來源 a

http://rdkw.wordpress.com/2012/12/05/afnetworking-causes-systemconfiguration-framework-not-found-in-xcode-project/

解法說明

https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-FAQ

簡單來說,找到 Prefix.pch, 加入

#import <SystemConfiguration/SystemConfiguration.h>

#import <MobileCoreServices/MobileCoreServices.h> // iOs 用

// Max OS X 用這行 or #import <CoreServices/CoreServices.h> for Mac OS X

I'm getting a a warning "SystemConfiguration framework not found in project", how do I fix this?

AFNetworking has optional dependencies of the SystemConfiguration and CoreServices / MobileCoreServices frameworks. While they are not required to use AFNetworking, their inclusion turns on network reachability monitoring and file MIME type detection on uploaded files, respectively. Not including them triggers a compiler warning. To include these frameworks in your project, and silence these warnings, do the following two things:

  1. Go to the "Build Phases" tab for your project target
  2. Under "Link Binary with Libraries", click the + button and add SystemConfiguration as well as MobileCoreServices on iOS, or CoreServices on Mac OS X.
  3. In your precompiled headers file, Prefix.pch, add the following lines under#import <Foundation/Foundation.h>:

#import <SystemConfiguration/SystemConfiguration.h>

#import <MobileCoreServices/MobileCoreServices.h> // or #import <CoreServices/CoreServices.h> for Mac OS X

按鈕元件 BButton

一個簡單的按鈕元件

不過很好用

玻璃光澤、按壓會有逆向陰影

使用簡單

min 0, max 10

整合難度:0

使用難度:1

實用性:9

甜度: 3

需求度:9

按鈕元件 UIGlossyButton

!!! 注意:這元件不合適工作環境設計師有強烈的設計感時使用

因為他無法簡易的添加 漸層圖層..

不過可以使用 setBackgroundImge 覆蓋漸層

沒有這問題的個人開發者請安心…

目前測試 FTWButton 中,至少可以用 addSublayer 方式簡單添加漸層..

好用的東西,超好用

其實 iOS 的 Button 很麻煩

最常用的 RoundRectButton 不能換按鈕顏色

Custom Button 又太基本,點選/按取後的光澤效果都要自己處理

大概只有拿來放圖比較好用…

所以一直會想找個比較方便的方法(Apple 願意讓 RoundRectButton 換titleLabel 顏色就好了..)

和 BButton 比起來,UIGlossy 可以調整的部份比較多

主要缺點大概是大多使用自訂方法

需要一些時間習慣才行

其他中文介紹

http://furnacedigital.blogspot.tw/2012/05/uiglossybutton-uibutton.html

用於測試 tintcolor 和 漸層設定效果的 app

https://github.com/adisonwu/UIGlossyButton-Tester

min 0, max 10

整合難度:低

上手度:低

實用性:8 (看專案適性

需求度:8

正規表示法 RegexKit Framework

RegexKit Framework

說明頁面

http://www.yifeiyang.net/iphone-development-skills-of-the-data-chapter-1-use-regular-expressions/

按鈕元件 QBFlatButton

QBFlatButton

https://github.com/questbeat/QBFlatButton

有趣的東西

Apple 的按鈕是按下時顏色會變暗

QBFlat 則是利用側邊陰影,按下時會如同按下突出的按鈕一樣壓平,導致側邊陰影消失

不過這風格和原生的不搭

可能整個 app 都要有所改變才能用的好

min 0, max 10

整合難度:0

實用性:3-8 (看專案適性

甜度: 4 (加工後應該會更好,不知道可以不可以用圖片

需求度:0