タグ

関連タグで絞り込む (4)

タグの絞り込みを解除

iOS 8に関するopparaのブックマーク (27)

  • [iOS 8] Android脳に効く!新言語「Swift」超入門 #4 関数とクロージャ | DevelopersIO

    関数 第一級オブジェクト Swiftの関数は第一級オブジェクトとして扱う事ができます。つまり、関数を「一つのオブジェクト」として扱えるということです。そのため、関数を変数に格納したり引数で関数をやりとりするようなことが可能になります。 関数の定義 関数定義の文法 関数を定義するにはfuncキーワードを使います。Javaのメソッドと同じように引数が必要ない場合は引数を記述しません。また、Javaのメソッドで値を返さない場合は返り値の型をvoidとしていましたが、関数が値を返さない場合は「->返り値の型」を記述しません。 Swift Code var name = "Taro" // 最も単純な関数 func rename() { name = "Jiro" } // 関数を呼び出します rename() println(name) // Jiro 引数も返り値もない単純な関数を定義してみまし

    [iOS 8] Android脳に効く!新言語「Swift」超入門 #4 関数とクロージャ | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] 新しいフォーマッタ NSEnergyFormatter / NSMassFormatter / NSLengthFormatter | DevelopersIO

    [iOS 8] 新しいフォーマッタ NSEnergyFormatter / NSMassFormatter / NSLengthFormatter 新しいフォーマッタ NSFormatter はある値を文字列にフォーマットするときに使うクラスです。これまでは NSDateFormatter や NSNumberFormatter などがありましたが、iOS 8 から NSEnergyFormatter、NSMassFormatter、NSLengthFormatter が新しく追加されました。 NSEnergyFormatter NSEnergyFormatter はエネルギーの値を文字列に変換するためのフォーマッタです。カロリーやジュールなどの値を変換することができます。 let energyFormatter = NSEnergyFormatter() energyFormatter.

    [iOS 8] 新しいフォーマッタ NSEnergyFormatter / NSMassFormatter / NSLengthFormatter | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] NS_DESIGNATED_INITIALIZER, NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATIONマクロを使う | DevelopersIO

    [iOS 8] NS_DESIGNATED_INITIALIZER, NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATIONマクロを使う 指定イニシャライザとプロトコル向けのマクロ iOS 8 では新たに次の2つのマクロもNSObjCRuntime.hに加わっています。 #ifndef NS_DESIGNATED_INITIALIZER #if __has_attribute(objc_designated_initializer) #define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) #else #define NS_DESIGNATED_INITIALIZER #endif #endif #ifndef NS_PROTOCOL_REQUIRES_EX

    [iOS 8] NS_DESIGNATED_INITIALIZER, NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATIONマクロを使う | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] HealthKitを実装する(1) HealthKit簡易リファレンス | DevelopersIO

    HealthKitを使う HealthKitを使ったアプリの実装方法について紹介します。 HealthKitではiOS 8ユーザーの健康に関する情報を、アプリ間を跨いだ共有の保存領域(HealthStore)で永続化することができます。 あらかじめHealthKitで指定された値を各々のアプリケーションから永続化することで、プリインストールされている「ヘルスケア」から一括して参照することが出来ます。 HealthKitを実機で使う準備 Xcodeで作成したプロジェクトのHealthKitを有効にする必要があります。有効化はCapabilitiesのタブから行えます。 [Project] → [TARGETS (AppID)] → [Capabilities] → [HealthKit] の順に選択して有効化して下さい。 HealthKitを使ったアプリをリリースする場合、iOS Dev C

    [iOS 8] HealthKitを実装する(1) HealthKit簡易リファレンス | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] ついに来た!全ての健康情報を管理してくれるアプリその名も「ヘルスケア」 | DevelopersIO

    はじめに 今回は、iOS 8の新機能の中でも注目度の高い「ヘルスケア」の紹介をさせていただきます。AppleのiOS 8のサイトには以下のように書かれています。 健康。あなたの健康&フィットネス情報の、全く新しい使い方。 あたらしい健康アプリケーションは、あなたの健康とフィットネスに関するデータを、ダッシュボードに読みやすく表示します。デベロッパのみなさんにはHealthKitという新しいツールを用意しました。これにより、すべての素晴らしい健康アプリケーションやフィットネスプリケーションが連携できるようになり、あなたをさらにしっかりサポートします。健康にあらたな革命が始まります。 ヘルスケアアプリの機能 ヘルスケアには以下の4つの機能が搭載されています ダッシュボード ダッシュボードでは、「健康データ」で記録されたデータの表示を行うことができます。以下の画面で、ダッシュボードに表示をONに

    [iOS 8] ついに来た!全ての健康情報を管理してくれるアプリその名も「ヘルスケア」 | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] Swiftでデザインパターン No.2 Iterator | DevelopersIO

    Iterator Iteratorとは 英単語Iterateには以下のような意味があります。 繰り返す 反復する Iteratorは日語で反復子などとも呼ばれます。 Iteratorパターンは、要素の集まりを保有するオブジェクトの各要素に順番にアクセスする方法を提供するためのパターンです。 クラス図 ポイント Aggregate, Iteratorクラスは共に抽象クラス 具象クラスはそれぞれConcreteAggregate, ConcreteIteratorクラス AggregateクラスがiteratorメソッドでIteratorクラスのインスタンスを生成する ※ Aggregate = 集合体 / 集団, Concrete = 具体化する / 実体のある サンプルコード Aggregate class Aggregate { func iterator() -> Iterator

    [iOS 8] Swiftでデザインパターン No.2 Iterator | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] CMPedometer で歩数を取得する | DevelopersIO

    歩数計機能 iOS 8 の Core Motion フレームワークに CMPedometer という歩数関連のデータを取得することができる API が追加されました。このクラスを使うと歩数/走行距離/昇り降りしたフロアの数などを計測できたり、過去に遡ってデータを参照できたりします。 なお、iOS 7 で追加された CMStepCounter がありますが、これの機能増強版と言えます。CMStepCounter は Deprecated になりました。短命でしたね。。 NS_CLASS_DEPRECATED_IOS(7_0,8_0,"Use CMPedometer instead") @interface CMStepCounter : NSObject この APIiPhone 5s に搭載されているモーション・コプロセッサー「M7」以降を利用して歩数を計測するので、電池消費量がかな

    [iOS 8] CMPedometer で歩数を取得する | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] NSProcessInfo で iOS のバージョンを判定する | DevelopersIO

    バージョンの判定 iOS でバージョン判定するには今までですと [[UIDevice currentDevice] systemVersion] を使ったり NSFoundationVersionNumber を使ったりしていましたが、iOS 8 の Foundation フレームワークでは NSProcessInfo で簡単に判別できるメソッドが追加されました。次のように記述します。 let systemVersion = NSOperatingSystemVersion(majorVersion: 8, minorVersion: 1, patchVersion: 0) NSProcessInfo().isOperatingSystemAtLeastVersion(systemVersion) // 8.0.0 で実行している場合はfalse 便利なんですが、当然 iOS 7 以前では

    [iOS 8] NSProcessInfo で iOS のバージョンを判定する | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] 新たなタスク優先度管理API – Quality of Service – | DevelopersIO

    GCDとNSOperationのXNUカーネル優先度 iOSで並列処理を行う為の代表的なAPIとしてはGCD(GrandCentralDispatch)とNSOperationの2つがあります。 どちらのAPIも以下のような方法を通じてOSレベルでのスレッド優先度を決定できました。 GCD dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0); dispatch_async(queue, ^{ //タスク }); NSOperation @interface MYOperation : NSOperation @end @implementation MYOperation - (void)main { @try { @autoreleasepool { //タスク } } @

    [iOS 8] 新たなタスク優先度管理API – Quality of Service – | DevelopersIO
    oppara
    oppara 2014/09/23
    新たなタスク優先度管理API – Quality of Service – | Developers.IO B!
  • [iOS 8] iPhone 5s / iPhone 6 でも Landscape で iPad のように2画面表示にする | DevelopersIO

    iPhone 5s や iPhone 6 などでも行いたい場合、画面構成を少し調整すれば同様に2画面表示にすることが可能です。 Split View Controller を2画面構成にする Split View Controller を2画面構成にするには、横表示(Landscape)で Regular と判定されれば良いわけです。iPhone 5s / iPhone 6 は Landscape の Width は Compact なので、ここを書き換える必要があります。そのため、Split View Controller の親の View Controller を作成し、その親クラスで setOverrideTraitCollection:forChildViewController: を呼んであげる必要があります。 このメソッドは子の View Controller の Trait

    [iOS 8] iPhone 5s / iPhone 6 でも Landscape で iPad のように2画面表示にする | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] CloudKit を使ってみよう (1) 概要 | DevelopersIO

    CloudKit とは CloudKit は OS X アプリや iOS アプリで利用できる BaaS *1 です。 ユーザーの AppleID を利用して、Apple のサーバー上にあるプライベートまたはパブリックなデータベースやストレージに、データやファイルを格納することができます。格納する処理は CloudKitAPI を呼び出すだけで良いので、サーバーサイドのロジックを記述する必要はありません。どなたでも手軽に利用することができます。 利用可能な機能 認証 アセットストレージ データベース 検索 通知 利用可能な容量 1PBのアセット 10TBデータベース 1日5TBまでのアセット転送 1日50GBまでのデータベース転送 利用料金 CloudKit は無料で使いはじめることができます。詳細は発表されていませんが、制限はあるそうなので完全に無料ではなさそうです。 CloudKi

    [iOS 8] CloudKit を使ってみよう (1) 概要 | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] Local Notification / Remote Notification の通知にボタンを配置する | DevelopersIO

    次に Local Notification を作成し、通知します。UILocalNotification を呼び出すときはこれまでと基的に変わりません。UILocalNotification#category に先ほど登録した UIMutableUserNotificationCategory#identifier と同じ文字列をセットします。 var notification = UILocalNotification() notification.fireDate = NSDate() notification.timeZone = NSTimeZone.defaultTimeZone() notification.alertBody = "Notification"; notification.alertAction = "Open"; notification.applicati

    [iOS 8] Local Notification / Remote Notification の通知にボタンを配置する | DevelopersIO
    oppara
    oppara 2014/09/23
  • [iOS 8] HealthKitを実装する(2) HealthStoreへデータを保存する | DevelopersIO

    HealthStoreにデータを永続化する実装例 実際に体温をHealthStoreに永続化するサンプルを作ってみます。 HealthKitを使用するクラスファイルではHealthKit.frameworkをインポートする必要があります。HealthKit.frameworkはHealthKitの有効化と同時にプロジェクトへ追加されます。以下のようにクラスファイルの先頭で宣言して下さい。 import HealthKit ※事前に、StoryboardからUITextFieldのtfBodyTemperatureをIBOutletで接続してあります。 /** 引数に渡された文字列を指定のデータへ変換してHealthStoreへ永続化します。 渡される文字列は、Double型へキャスト出来る形式である必要があります。 :param: unit 健康情報の単位型 :param: type 健康

    [iOS 8] HealthKitを実装する(2) HealthStoreへデータを保存する | DevelopersIO
    oppara
    oppara 2014/09/22
  • [iOS 8] Swiftでデザインパターン No.1 Singleton | DevelopersIO

    はじめに これから数回に渡り、Swiftでデザインパターンを実装していきます。 Swiftはとてもシンプルに記述ができるため、工夫次第でコードを短くできますが、 私はあえてクラス図通りに書いてみようと思います。 そうすることで、できること/できないことが見えてきて、Swiftについて深く学べるのではないかと考えました。 よって、ここでの目的はデザインパターンの習得ではなく、Swiftについて理解を深めることとします。 余裕があれば、Swiftならではの記述もしてみよう思いますのでお楽しみに。 Singleton Singletonとは 英単語Singletonには以下のような意味があります。 一枚札 単独で活動する人(物) Singletonパターンは、そのクラスのインスタンスが1つしか生成されないことを保証することができるデザインパターンです。 クラス図 ポイント 同じ型のインスタンスが

    [iOS 8] Swiftでデザインパターン No.1 Singleton | DevelopersIO
    oppara
    oppara 2014/09/22
  • [iOS 8] Android脳に効く!新言語「Swift」超入門 #5 クラスとストラクチャ | DevelopersIO

    クラスとストラクチャの違い クラスにはなじみがあると思いますが、ストラクチャはあまり聞き慣れない言葉かと思います。クラスとストラクチャの大きな違いは、クラスは参照型でストラクチャは値型だということです。クラスはそのオブジェクトのやりとりを参照ポインタで行いますが、ストラクチャはその都度値がコピーされます。 ストラクチャはクラスのように継承等は出来ませんが、値を定義したいときに活用できる便利なタイプです。 クラスとストラクチャはそれぞれ次のように定義します。 Swift Code // クラスの定義 class SomeClass { } // ストラクチャの定義 struct SomeStructure { } 一見すると名前が異なるだけのような印象を受けると思いますが、先述した通りインスタンス化した時にクラスは参照がわたされ、ストラクチャはコピーが渡される点で大きく違います。 その他、共

    [iOS 8] Android脳に効く!新言語「Swift」超入門 #5 クラスとストラクチャ | DevelopersIO
    oppara
    oppara 2014/09/22
  • [iOS 8] マップアプリの新機能「Flyover City Tour」で世界を旅しよう! | DevelopersIO

    3D機能「Flyover」 iOS 6のマップは「パチンコガンダム駅」など色々あって、かなり酷評されていましたが、Flyoverという3D表示の機能も搭載されていました。iOS 6では主要都市であるアップル社(クパチーノ)、シカゴ、コペンハーゲン、ラスベガス、ロサンゼルス、マイアミ、モントリオール、サクラメント、サンフランシスコ、シアトルでしたが、iOS 7からは、殆どの主要都市で利用できるようになっています。 写真は、iOS 8のFlyover機能で表示したクラスメソッドがある秋葉原です 「Flyover City Tour」機能を使ってみよう Flyover City Tourが対応している都市は、以下になります。私の調べた範囲では以下になります。実際は、他にも色々あると思います。 ニューヨーク バルセロナ ローマ パリ 東京 サンフランシスコ サンノゼ ストックホルム ケープタウン

    [iOS 8] マップアプリの新機能「Flyover City Tour」で世界を旅しよう! | DevelopersIO
    oppara
    oppara 2014/09/22
  • [iOS 8] App Extension #1 – App Extension を実装するための基礎知識 | DevelopersIO

    App Extension App Extension は、アプリの機能の一部を他のアプリからシームレスに利用できるようにするための仕組みを主とした新機能です。 iOS では、下記の6種類の Extension を作成することができます。 Today Share Action Photo Editing Document Provider Custom Keyboard この記事では、上記の各種 Extension の開発に共通する概念を説明します。 Extension と containing app Extension はアプリの機能を拡張するためものですので、必ず特定の iOS アプリに紐づくことになります。Extension は単体で ipa を作成することはできません。リリースビルドする際には、紐づくアプリにバンドルされる形で ipa が生成されます。このため、Extension

    [iOS 8] App Extension #1 – App Extension を実装するための基礎知識 | DevelopersIO
    oppara
    oppara 2014/09/22
    App Extension #1 – App Extension を実装するための基礎知識 | Developers.IO B!
  • [iOS 8] NSExtension系APIに触れてみる | DevelopersIO

    NSExtension系API iOS 8 及び OS X 10.10 より、app extension が追加されました。 自分が作った以外のアプリに向けて、拡張機能を提供することができるようになったのです。 何らかの拡張機能を作るために必要となってくるのが、いわゆる NSExtension 系のクラスなどです。 この記事では、その概要に触れてみようと思います。 NSExtensionContext & NSExtensionItem データを、host app(拡張機能を呼び出すアプリ)とやりとりする時に欠かせないのが、NSExtensionItem クラスです。 画像やテキスト等様々なデータを保持するよう記述することができます。 また、NSExtensionContext クラスは、extension が実行されるコンテキストを定義するためのクラスです。 主な用途しては、inputI

    [iOS 8] NSExtension系APIに触れてみる | DevelopersIO
    oppara
    oppara 2014/09/22
  • [iOS 8] CTRubyAnnotationRef を使って文字にルビを付ける | DevelopersIO

    CTRubyAnnotationRef iOS 8 の Core Text フレームワークに CTRubyAnnotationRef という文字にルビを付けるためのクラスが登場しました。下図のように、テキストにふりがなを付けるといったようなことが実装できます。 文字にルビを付けてみよう Core Text を使って描画する場合は、次のように記述します。 @import CoreText; // 読み CFStringRef writing = (__bridge CFStringRef)@"安西先生"; // ふりがなの配列 CFStringRef furigana[kCTRubyPositionCount] = { (__bridge CFStringRef) @"あんざいせんせい", NULL, NULL, NULL }; // ルビ CTRubyAnnotationRef ruby

    [iOS 8] CTRubyAnnotationRef を使って文字にルビを付ける | DevelopersIO
    oppara
    oppara 2014/09/22
  • [iOS 8] CloudKit を使ってみよう (4) Push 通知を利用する | DevelopersIO

    CloudKit で Push 通知 これまでレコードの保存や検索などの操作について触れてきましたが、今回は CloudKit の Push 通知機能について解説したいと思います。CloudKit はデータストレージだけではなく、このストレージを活用した Push 通知を実装することができます。何だかとっても mBaaS っぽいですね。 Push 通知を受け取ってみよう 今回は「Memo」という名前の Record Type を対象に、レコードが追加/更新/削除されたら Push 通知を送る機能を実装してみたいと思います。 Remote Notification を有効にする まずはアプリで Remote Notification を受け取るようにしましょう。基的にはこれまで通りの方法と一緒ですが、CloudKit を利用している場合は Certificate の登録は不要です。これ結構

    [iOS 8] CloudKit を使ってみよう (4) Push 通知を利用する | DevelopersIO
    oppara
    oppara 2014/09/22