はじめに
PixateFreestyleとは、UI部品のデザインにCSSが使えるようになるというものです。
詳細は以下などを参照ください
http://hidekit.hatenablog.com/entry/2014/05/28/195122
問題はこのライブラリはmain.mに以下のような修正が必要だということ
# import <UIKit/UIKit.h>
# import "AppDelegate.h"
# import <PixateFreestyle/PixateFreestyle.h> //<--追加箇所
int main(int argc, char *argv[]) {
@autoreleasepool {
[PixateFreestyle initializePixateFreestyle]; //<--追加箇所
return UIApplicationMain(argc, argv, nil,
NSStringFromClass([AppDelegate class]));
}
}
ところがSwiftではmain.mがありません。
どうするか・・・。
対応
main.swiftを作成します。
import Foundation
import UIKit
PixateFreestyle.initializePixateFreestyle() //PixateFreestyle用の追加箇所
UIApplicationMain(C_ARGC, C_ARGV, NSStringFromClass(UIApplication), NSStringFromClass(AppDelegate))
上記を入れただけだと以下の様なコンパイルエラーが出ます。
XXXXX/AppDelegate.swift:12:1: 'UIApplicationMain' attribute cannot be used in a module that contains top-level code
AppDelegate.swiftも修正します。
//@UIApplicationMain <--コメント化
class AppDelegate: UIResponder, UIApplicationDelegate {
後はObjective-C Brideging Headerに設定しているヘッダファイルに
#import "PixateFreestyle.h"
を追加するだけです。
参考
http://stackoverflow.com/questions/24020000/subclass-uiapplication-with-swift
http://hidekit.hatenablog.com/entry/2014/05/28/195122
http://pixate.github.io/pixate-freestyle-ios/