プログラミングでLAMPという言葉を聞いたことはありますか? 今では使う頻度が減ってきましたが、開発環境の基礎の頭文字をまとめたのがLAMPです。これのLは、Linuxの頭文字です。 Linuxは世界で最も普及している、 […]
さきほどWWDCにて新言語 Swiftが発表されました。 The Swift Programming Language (iBooks Store) で言語ガイドが公開されていたのでザッと目を通してみました。 Objecitve-Cと比較してSwiftがイケてそうなところをパッと気になったところだけ書いていってみます。 変数/定数の型推論がある Objective-Cのように明示的に型を書かなくても型を推論してくれます。 推論で問題ないケースも多いと思うのでタイプ数がかなり減らせそうですね。 ( 変数を宣言する際はvar、定数を宣言する際はletで宣言します。 ) // 型推論 var name = "Shinji Ikari" // 変数の型は推論によりString型になる var age = 14 // 変数の型は推論によりInteger型になる let height = 141.5
iOS 7から搭載された新機能「iBeacon」。このiBeaconを使ってアプリを作るエンジニアも少なくないのではないでしょうか。 そこで今回はヤフーでiOSアプリを開発している羽田さんに、iBeaconに関する基礎的な部分からサービス設計、サービス事例などについて、解説していただきました。 by 馬場美由紀 (CodeIQ中の人) ちゃんと理解してますか?Appleの新技術「iBeacon」 ヤフー羽田です。 登場から時間も経ち、サービス化されたり、アプリ化されることも珍しくなくなったiBeacon。 そんな今だからこそiOSに携わる企画者・エンジニアとして「知っておかなければいけないこと」が多々あります。 今回は基礎的な部分からサービス設計を含めたiBeaconに関してエンジニアと企画者が、絶対+最低限知っておくべきことを紹介します。 この記事で学ぶこと iBeaconに関する以下の
Posted: 2014.05.08 / Category: iOS iPhoneが出た頃は開発するにはApple公式のXcodeしか選択肢はありませんでしたが、最近では開発環境の選択肢が増えてきたようなのでまとめてみました。 Xcode [ Objective-C ] 安心・安全のApple公式開発環境Xcodeです。 最大の問題はほぼMac開発用のObjective-Cという言語を使用しないといけないことでしょうか。 でも最近ではバージョンアップを重ねてかなり書きやすくなってるっぽいです。 他の環境で開発する場合でも最終的にApp Storeで配布するならインストールしておく必要があります。 デベロッパツールの概要 – Apple Developer RubyMotion [ Ruby ] iOS SDK の API を使用することになるのでメソッド名などRubyっぽくなかったり、Ru
Cocoaの並列処理(GCDとNSOperation/NSOperationQueue)に関するまとめです。この記事ではいわゆる「スレッド」については扱いません。スレッドについては、前に記事を書いたのでそちらを参照してください。 Cocoaのマルチスレッドシステム - $ cat /var/log/shin スレッドによる並列処理からの脱却 スレッドは、歴史のある並列処理のための概念ですが、OSのカーネルの方にも密接に関わりがあるなど、抽象度は低めと言えます。 そこで、Cocoaでは、並列処理のための抽象度の高いインターフェースが提供されるようになりました。それがGCDとNSOperation/NSOperationQueueです。これらを使えば、スレッドを何個作成してタスクをどのように実行するか等の細かいことは、ランタイム側が全て決定してくれるので、ユーザは、並列処理したいタスクを定義し
Xcode標準のテストライブラリがうまいことやってくれないせいで、非同期処理のテストを書く場合に待ちの処理を自分で書いてあげないといけません。 最近のすごくいい感じの拡張が紹介されたのでこれを使うとなかなかいい感じです。 Objective-Cで非同期処理のテストをシンプルに書く方法 - TOKOROM BLOG ですが、実際はそこまでやらなくてもSDK標準の機能だけでも簡単に実装できます。サンプルコードは以下の通り。 - (void)testExample { CFRunLoopRef rl = CFRunLoopGetCurrent(); NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://xoyip.hatenablog.com/"]]; NSOperationQueue *qu
2014/08/13 追記 AppleScriptを使った実装が MacAppStore の審査で Reject される件について書きました。 「ログイン時に起動」を実装する (2) Mac アプリを使っていると、よく「ログイン時に起動 (Launch at Login)」という設定項目を目にします。 とても便利な機能なので、皆さん当たり前のように利用しているかと思いますが、実はけっこう実装が面倒です。 僕も自分の Mac アプリで実装したいと思ったのですが、情報が古かったり間違っていたり、日本語の情報が少なかったりで非常に苦労しました。 そこで、これから Mac アプリを作る人のために「ログイン時に起動」の実装方法をまとめておこうと思います。 「ログイン時に起動」3つの実装方法 「ログイン時に起動」を実装する方法は3つあります。(他にもあるかも, CFPreferencesとか) Lau
いまやiOSのネットワーク処理といえばAFNetworkingな感じです。 しかし古いストリーミングAPIを使った経験があれば、ブロックベースのAPIでどうやってネットワーク通信を行っているのか疑問に思うはずです。なぜかというと、 GCDは実行ループを持てない からです。 そもそも実行ループとは何なのでしょう。 実行ループとは NSRunLoop Class Referenceより The NSRunLoop class declares the programmatic interface to objects that manage input sources. An NSRunLoop object processes input for sources such as mouse and keyboard events from the window system, NSPort
タイトルがすべてなのですが、Apple公式の膨大な量のドキュメントが、iOSプログラミングを勉強するのにとても参考になります。 今は公式の日本語訳ドキュメントが結構な量になっているので便利です。 日本語ドキュメント – Apple Developer やはり書いてある内容に間違いはないですし、サンプルコードも添えて説明をしているので、とてもわかりやすいです。 PDFなので保存して、お気に入りのPDFビューワーで読めば良いのではないかと思います。 ピックアップすると iOSアプリケーション プログラミングガイド iOSプログラミングの基本用語などの説明 Objective-Cプログラミングの概念 Objective-C言語の説明 iCloud設計ガイド iCloudを利用する際の考え方、サンプル。iCloudはiOS固有の機能なので、しっかり理解しておきましょう。 などなど。 数年前に比べて
kishikawakatsumi/JavaScriptBridge · GitHub 前にiOS 7から導入されたJavaScriptCore.frameworkを使ってUIKit標準のクラスを操作する話を書きました。 JavaScriptだけでiOSのUIを書いてみる - 24/7 twenty-four seven JavaScriptCoreを使ってJavaScriptからObjective-Cのオブジェクトを操作するのは、あらかじめJSExportプロトコルで公開しておく必要があるなど、あまり実用的ではありませんでしたが、このライブラリを導入すうることで、そういった事前準備がすでに済んでいる状態で使いはじめることができます。 また、JavaScriptからObjective-Cのクラスを定義できるなどいくつかの拡張を加えてあり、UIViewControllerのサブクラスで画面を定
Objective-Cのオープンソースライブラリのコードを眺めていると __attribute__ という文に出くわすことがしばしばあります。 これは属性を表すキーワードで、普段そこまで使う機会がないのですが、調べるうちに何かと多人数の開発の時にはご利益がありそうな機能ばかりだと感じたので、まとめておきます。尚、使用環境はXcode5, ARCです。 何ができる? __attribute__はコンパイラディレクティブの一種で、変数、型、関数(Objective-Cではクラスやメソッドも)の属性を決めることができます。コンパイラによる静的チェックや関数の最適化の役に立ちます。 __attribute__の後にはカッコが二重に続き、二重括弧の中でコンマ区切りの属性リストを付与することができます。 __attribute__は変数、型、関数宣言の前後に置かれます。Objective-Cではメソッ
iOS 7から、画面遷移のアニメーションをカスタマイズできるようになりました。実装はシンプルで本当に簡単です。しかし、やたらと長い(しかもイマイチ統一感のない)プロトコルをたくさん使わなくてはならないため、何となく二の足を踏んでいる方も多いのではないでしょうか。 今回は、画面遷移のカスタマイズの基本中の基本を紹介します。 関連プロトコル 画面遷移の実装には多くのプロトコルを使用します。その中で、最低限必要となるのは以下の3つです。 UIViewControllerAnimatedTransitioning(アニメーションコントローラ) UIViewControllerContextTransitioning(画面遷移コンテキスト) UIViewControllerTransitioningDelegate (画面遷移デリゲート※) (※)モーダルビュー表示の場合。ナビゲーションコントローラ
追記: ※この記事は、「既にアプリ開発者である人」がより生産性を上げれることを願って書いた記事になります。 よく理解してない方がこの記事を参考にして「これを使ったら簡単になるらしいよ」という解釈をするための記事ではありません。 利用すれば便利になる「かもしれない」というものであることを理解しておいてください。 アプリの開発は早く、その上クオリティ高く完成させるのが良いと思います。 自分で、便利クラスなどを作成している人も多くいるとは思いますが、 iOSはオープンソースなライブラリが充実しているので、できるだけ利用をして 早く確実に開発を終わらせちゃいましょう。 ライセンスはそれぞれを参照して確認してください。 ARCへの対応有無もよく確認してみましょう。 ※見出しタイトルがリンクになっています。 SDWebImage インターネット経由で画像を取得し、UIImageViewへ表示するとき、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く