イナヅマTVログ

2013.08.22
10:28
author: taikiken
0件のコメント

Objective-C事始め – NSDataをNSStringにしてみたい

Objective-Cリハビリ中メモ。
環境: Xcode 4.6.3, iOS 6.

NSDataをNSStringに変換(?)するメモ

id型引数をNSDataへcastしNSStringへ

// id -> NSData -> NSString
+(NSString *)castStringWithData:(id)data
{
    NSData *castData = (NSData *)data;
    return [[NSString alloc] initWithBytes:castData.bytes
                                    length:castData.length
                                  encoding:NSUTF8StringEncoding];
}

続きを読む →

libSystem.dylib

2013.08.22
00:01
author: taikiken
0件のコメント

Objective-C事始め – md5, sha1, sha2を作りたい

Objective-Cリハビリ中メモ。
環境: Xcode 4.6.3, iOS 6.

Objective-Cで md5, sha1, sha2 を作ってみる。

md5

// md5
+(NSString *) md5WithString:(NSString *)input
{
    const char *cStr = [input UTF8String];
    unsigned char digest[16];
    CC_MD5( cStr, strlen(cStr), digest );
 
    NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
 
    for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
        [output appendFormat:@"%02x", digest[i]];
 
    return  output;
}

続きを読む →

2013.08.21
20:36
author: taikiken
0件のコメント

Objective-C事始め – アプリケーションにまつわる名前の話

Objective-Cリハビリ中メモ。
環境: Xcode 4.6.3, iOS 6.

アプリケーションを作成する時の名前のお話。

プロジェクト名称
Xcode プロジェクト作成時に指定する名前。
保存するとフォルダとプロジェクトが作成される。

プロジェクト名称がアプリ名(下記${PRODUCT_NAME})に設定されるようです。

info.plist
Bundle display name: ${PRODUCT_NAME}
Executable file: ${EXECUTABLE_NAME}
Bundle identifier: com.example.${PRODUCT_NAME:rfc1034identifier}
Bundle name: ${PRODUCT_NAME}
続きを読む →

2013.08.21
10:43
author: taikiken
0件のコメント

覚えた、xcrun: Error: could not stat active Xcode path

xcrunがエラーを吐いてる。
could not stat active Xcode path ‘PATH TO Xcode Developer’.

PATH TO Xcode Developerが存在しないXcodeへのパスになっていました。

パスを正しくしてあげれば良いのは分かるけど、さてどうするのやら…
Google先生にお聞きするとすぐに解決。
便利だなー

xcrunコマンドが参照するXcode pathの変更方法、あるいは “xcrun: Error: could not stat active Xcode path” エラーの対処方法

標準のXcodeへのパス

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

助かりました、ありがとうございます。

2013.07.31
10:00
author: taikiken
0件のコメント

Objective-C事始め – もう忘れないiOS longは32bit

海馬が壊れ気味な毎日。
一度じゃ覚えられないこと多数。

iOS long型、桁の話。

iOS arm CPUは32bit。
iOS longも32bit。

1
2
3
4
5
6
int int1 = 12345678901;
long long1 = 12345678901;
long long long2 = 12345678901;
 
NSLog(@"int1:%d long1:%ld long2:%lld", int1, long1, long2);
// int1:-539222987 long1:-539222987 long2:12345678901

*Xcodeではline.1, 2 で警告が出ます。

int と long の出力結果は同じです。
long longだと桁あふれをおこしていません。

【教訓】
iOSで64bitを取り扱う予定の時は、
longじゃなくてlong longを使う。

【参考】
驚愕の事実。Objective-Cのintとlongの最大値は同じだった。

InazumaUtils.framework

2013.07.30
10:00
author: taikiken
1件のコメント

[iOS][Objective-C][Xcode 4.6.3] そうだFramework(.framework)を作ってみよう

Xcode 4.6.3でiOS Framework(.framework)を作る過程を忘れないためのメモ。

【前提知識】
iOS Frameworkテンプレートは無い。
先人の知恵を借りるとiOS用Frameworkは作れる。

*疑問
なぜAppleはiOS Frameworkテンプレートを用意してない?
カスタムなiOS Frameworkは作っちゃいけないの?

【参考サイト】
Apple: Introduction to Framework Programming Guide
Xcode4でのiOS Frameworkの作り方
iOS: 自作Frameworkを作る
Xcode4.5.1でiOS用のframeworkを作成する
Xcode4.6でiOS framework作成
[iOS] Static Library (5) Frameworkを作成する
How to create custom iOS Framework using xCode ?
続きを読む →

Static Library

2013.07.29
10:00
author: taikiken
0件のコメント

[iOS][Objective-C][Xcode 4.6.3] そうだStatic Library(.a)を作ってみよう

Xcode 4.6.3でiOS Static Library(.a)を作る過程を忘れないためのメモ。
Apple: Introduction to Using Static Libraries in iOS

Static Libraryプロジェクトを作る

[File] > New > Project (command+shift+N)

Choose a template for your new project
Framework & Library > Cocoa Touch Static Library
Static Library
続きを読む →

2013.07.28
13:48
author: taikiken
1件のコメント

Xcode 4.6.3へiOS SDK 5.1を追加した

2013-07はiOS(Objective-C)強化月間です

現時点最新版のXcode 4.6.3へiOS SDK 5.1を必要に迫られ追加しました。
できてしまえばとても簡単だったのですが、やり方を見つけるまでに時間がかかってしまいました。

【前提知識】
最新版のXcodeは最新版のiOS SDKしか同梱してない。
AppleはiOS SDKだけの配布は行っていない。

それで、さてどうしよう〜、と2日ほど悩んでしまいました。
続きを読む →

cocos2d v2

2013.07.20
13:24
author: taikiken
0件のコメント

cocos2d-iphone v2.1のXcode templateをインストールしようとしたらエラーになったよ

cocos2d-iphone

cocos2d-iphone v2.1のXcode templateをインストールしようとしたらエラーになったよの巻。

ダウンロードして、http://www.cocos2d-iphone.org/download/
いつも通りにインストール用のシェルスクリプトを実行。

sudo ./install-templates.sh -f

エラーが表示されちゃう。
このコマンドではインストールできないらしい。

Error: Do not run this script as root.

‘root’ is no longer supported

RECOMMENDED WAY:
./install-templates.sh -f

ふえ〜ん。
続きを読む →