やったことだけ書く備忘録

Xcode6からはFrameworkが簡単に作れるようになっていたメモ

iOS用に提供する方法はCocoapodsとかがありますが、もっとニッチな機能やSDK関連はFrameworkの形で提供したいなって思って調べてたのでメモ程度に。

Xcode 6ではFrameworkが作りやすくなってた



ググると分かるんですが、Xcode 5まではFrameworkを作ろうとすると、「Cocoa Touch Static Library」のプロジェクトを作り、Info.plistを作って、ビルド用のシェルを書いて…ってエントリがヒットするんですけど、Xcode 6からはその名もずばり、「Cocoa Touch Framework」というプロジェクトが作れるようになってました。






試しにSampleFrameworkという名前でプロジェクトを作成してみると、以下のようなファイル構造が出来上がります。





Info.plistもあって、Xcode 5でやってた作業がすでにできている状態。すごい便利だ。


あとはそれ用にコードを書いて、Build Settingを設定してビルドすればFrameworkが出来上がります。例えばこんなコード:




# SampleFramework.h
import <UIKit/UIKit.h>

//! Project version number for SampleFramework.
FOUNDATION_EXPORT double SampleFrameworkVersionNumber;

//! Project version string for SampleFramework.
FOUNDATION_EXPORT const unsigned char SampleFrameworkVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <SampleFramework/PublicHeader.h>
// --- ここまではデフォルトで書かれている

@interface Sample NSObject

-(NSString*) helloWorld;

@
end
 


.mファイルも作ります。


# SampleFramework.m(新規追加)

#import "SampleFramework.h"

@implementation Sample

-(NSString*) helloWorld {
    return @
"Hello, SampleFramework!";
}

@
end
 


これをビルドすればSampleFramework.frameworkが出来上がります。あとは他のプロジェクトのEnbeded Binaryに追加して、FrameworkをimportすればOK。




# 他のプロジェクトの実装ファイルとか

#import <SampleFramework/SampleFramework.h>

@implementation SomeClass

-(voidshowHelloWorld {
    
SampleFrameworksample = [[SampleFramework allocinit];
    
NSLog(@"Framework says: %@", [sample helloWorld]);
}

@
end
 


実行して、ログにHello, SampleFramework!と表示されればOK。簡単になったなぁ。



まとめ


Swiftやりたい。

« 前の記事 次の記事 »

0件のコメント

コメントを投稿する

 画像に表示されている文字を入力してください。