LoginSignup
17
18

More than 5 years have passed since last update.

main.mに追記が必要なライブラリ(Pixate freestyle)をSwiftで動かす

Last updated at Posted at 2014-06-04

はじめに

PixateFreestyleとは、UI部品のデザインにCSSが使えるようになるというものです。

pixate_blue_typography.png

詳細は以下などを参照ください
http://hidekit.hatenablog.com/entry/2014/05/28/195122

問題はこのライブラリはmain.mに以下のような修正が必要だということ

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を作成します。

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も修正します。

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/

17
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
18