pixateでリアルタイム更新


なかなか使い勝手のいいpixaeですがGetting Started
リアルタイム更新のためのビデオチュートリアルがリンクされていました。


Pixate Real Time CSS - YouTube

注意

動画ではdelegateファイルに

#import <PXEngine/PXStyleSheet.h>

足して

application:didFinishLaunchingWithOptionsに

    [PXStylesheet currentApplicationStylesheet].monitorChanges = YES;

追加せよってなってますが、
Pixate Ver1.0.3では動きません。


Pixate Ver1.0.3でのやり方

headerファイルを漁って見ると
PXEngine.hに

+ (PXStylesheet *)currentApplicationStylesheet;

があるので、
application:didFinishLaunchingWithOptionsに

    [PXEngine currentApplicationStylesheet].monitorChanges = YES;
    NSLog(@"%@", [PXEngine currentApplicationStylesheet].filePath);

追加でOKです。

そうすると

ログに下記のようにシミュレータ上のcssのファイルパスが表示されるので
これを直接編集することで即時反映されると。。。

/Users/rochefort/Library/Application Support/iPhone Simulator/6.1/Applications/9C8105D8-D6D3-47B7-9A08-3A92084739FB/MyButtonDemo.app/default.css

う〜ん。。。

おしい。。。
ビルド後のcssを修正するってのは、抵抗があるなぁ。
cssのを修正を検知して、コピーするぐらいやってくれてもいいんじゃないのだろうか。


最終的にはコレ

    [PXEngine styleSheetFromFilePath:(@"/Users/rochefort/work/xcode/MyButtonDemo/MyButtonDemo/default.css") withOrigin:0];
    [PXEngine currentApplicationStylesheet].monitorChanges = YES;


これもファイルパスを直接書いちゃってるので、あと一歩という感じです。
pathForResource:ofType みたいなので取れないのだろうか。


あと、プロダクトコードにこれ入れるの嫌なので
debug時はデフォルトで直接編集できるようにしてほしいなぁ。