Takahiro Octopress Blog

-1から始める情弱プログラミング

Swiftの基礎を理解しよう!(2)

Swiftの型

続いて、基本的な内容を見ていきます。
SwiftはObjective-Cと型の表現が変わりました。
よく使う型を見て行きましょう。

1
2
3
4
5
6
7
8
9
var intValue:Int = 3
var doubleValue:Double = 1.234
var floatValue:Float = 5.678
var boolValue:Bool = true
var stringValue:String = "abcdefg"
var charValue:Character = "a"
var intArray = [1, 30, 120, 6]
var stringArray = ["abc", "123"]
var testDictionary = ["job": "programmer", "skillNum": 5]

Swiftの基礎を理解しよう!(1)

Swiftを基本から覚えよう

さて、本日はSwiftについて基本から覚えていきたいと思います。
筆者はこれまでObjective-Cを中心に開発を続けてきました。
が、昨年Swiftが初めて発表されて以来、少しずつSwiftに関わることが増えてきました。
正直なところ、Xcodeのバージョンアップごとに『 割りと大きな変更が生じるSwift を商用アプリに使うかどうか』は迷います。deprecatedになるメソッドはあるにしても『 大幅な変更の生じないObjective-C 』の方が安全ですし、何より多彩なライブラリが存在しています。

とは言え、今後、Swiftしか使えないiOSアプリエンジニアが当たり前に存在していくことでしょう。
そんなときにObjective-CもSwiftも当然のように使えるエンジニアとなっていたいので勉強しておこうと思う次第です。

AltBeaconを使ってAndroidでiBeaconを検知しよう

AltBeaconを使って手軽にAndroidでiBeaconを検知しよう

本日はAndroidでのiBeacon検知をやってみようと思います。
自作することも簡単だと聞きますが、Radius Networks社が出しているAltBeaconが非常に便利なようです。

何と言ってもiOSのCoreLocation.frameworkと同じ感覚で扱えるというのが強みでしょう。
(iOSアプリエンジニアにとっては非常に助かります笑)

さて、実際に実装方法を見て行きましょう。

実装方法や設定に関しては、Developers.IO Android x iBeacon – シリーズ –を踏襲させて頂きました。
めちゃくちゃわかりやすいサイトなので、他のページも参考にすると良いです。

StoryboardでNavigationBarを表示する

StoryboardでNavigationBarを表示する方法

さて、今日も忘れやすい内容なのでメモメモ…。
最近はXIBファイルよりもStoryboardを利用するシーンが多くなっているかと思います。
そこで、本日はStoryboardでNavigationBarを表示する方法について説明したいと思います。

一定時間内は画面タップをさせない!

SVProgressHUDとNSTimerを使う

さて、本日はさくっとメモしておきます。
できると思っていて当然できた話なので、本当にメモです笑。

AFNetworkingなどでどこかしらのサーバに通信している間、画面をユーザに触らせたくないことがあるかもしれません。
そんなときはローディングウィンドウをSVProgressHUDで表示し、 NSTimer を使って時間で操ります。

FMDBを使ってSQLiteに画像を保存しよう!

FMDBを使ってSQLiteに画像を保存してみる

さて、当たり前なようでやったことがなかったのでやってみました。
たぶんもっとキレイな方法があると思うのですが、なぜかできず…。できた方法を説明します。

SQLiteにデータを保存

まず下記のメソッドを実装します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// DBに接続
- (id)dbConnect:(NSString *)dbName
{
  NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES );
  NSString *dir = [paths objectAtIndex:0];
  FMDatabase *db = [FMDatabase databaseWithPath:[dir stringByAppendingPathComponent:dbName]];

  return db;
}

// テーブルの作成
- (void)createTable:(NSString *)dbName tableName:(NSString *)tableName
{
  FMDatabase *db = [self dbConnect:dbName];
  NSString *sql = [[NSString alloc] initWithFormat:@"create table if not exists %@ (id INTEGER PRIMARY KEY, title TEXT, imgData TEXT)", tableName];
  [db open];
  [db executeUpdate:sql];
  [db close];
}

複数のMacでiOS端末の実機検証を可能にするためには!?

証明書と鍵を書きだそう!

本日は複数のMacでiOS端末の実機検証をするための手順について説明します。

まず、開発者用の証明書を書き出しましょう。
証明書はキーチェーンアクセスから確認できます。
キーチェーンアクセスアプリを起動すると、下記画面が表示されます。

キーチェーンアクセスの画面

iBeacon完全攻略!?

iBeaconを復習しよう!

本日はこれまでも何度か取り上げてきたiBeaconについて改めて復習してみたいと思います。
今回はiOS端末でのiBeaconの発信/受信に特化して書きます。

これまでの関連記事は以下です。

Apple Watch Sportを購入しました

Apple Watch Sport

先日とうとう発売されたApple Watch Sportについて書きたいと思います。
本記事ではApple Watch Sportの開封および初期設定の手順について説明するに留め、プログラミングは今後に回したいと思います。

まず、Apple Watch Sportは他のApple製品と同じで真っ白な箱に入ってきました。
写真だと見づらいですが、箱に『Apple Watch』と書かれています。

Apple Watch Sportの箱

BLEMeasure Ver3.0(iPhoneアプリを申請しました(4))

BLEMeasure Ver3.0の紹介

約1年ぶりに本アプリのバージョンアップに着手しました。
主な改善点・修正点としては下記です。

  • デザイン, UIの変更
  • マルチiBeaconの検知機能の実装
  • iOS8対応
  • iPhone6およびiPhone6 Plus対応
  • バグFix

※現在、アップデート申請中のため、公開されていません。
(公開され次第、合わせてブログを更新する予定です。)
2015/05/28にめでたく公開されました!!
本記事を書いてから、実に1ヶ月もの時間を要したのですが、そこには新たに判明した事柄があったためです。
そこについて本記事に追記させて頂きます。