万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    SwiftとObjective−C連携 without Xcode

    他ではXcodeは必須な情報ばっかりだったので探した。

    osx - Compiling and linking Swift plus Objective C code from the OS X command-line - Stack Overflow

    このサイトの情報がいい。

    Objective-Cのヘッダファイル

    #import <Cocoa/Cocoa.h>
    @interface C : NSObject
    @property (retain) NSString *c;
    @end

    Objective-Cのソースファイル

    #import "C.h"
    
    @implementation C
    
    - (id)init {
      self = [super init];
      self.c = @"Hello world!";
      return self;
    }
    
    @end

    コンパイル

    Objective-Cのファイルをコンパイルし、C.oを生成。

    xcrun clang C.m -o C.o -c

    そしてSwiftのファイル自体は

    let c = C()
    
    println(c.c)

    コンパイル

    Swiftのファイルをコンパイルし、S.oを生成。

    xcrun swiftc -c S.swift -import-objc-header C.h -F /System/Library/Frameworks -I /usr/include

    最終的に行うのは

    今まで生成した、S.oとC.oを元に、appという実行ファイルが生成される。

    xcrun swiftc -o app C.o S.o

    結局最終的に出来るファイル群は。

    C.h     C.m     C.o     S.o     S.swift app

    実行

    ./app

    先取り!Swift

    先取り!Swift

    はじめてのSwiftプログラミング (I・O BOOKS)

    はじめてのSwiftプログラミング (I・O BOOKS)

    詳解 Objective-C 2.0 第3版

    詳解 Objective-C 2.0 第3版