You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
2014/08/13 追記 AppleScriptを使った実装が MacAppStore の審査で Reject される件について書きました。 「ログイン時に起動」を実装する (2) Mac アプリを使っていると、よく「ログイン時に起動 (Launch at Login)」という設定項目を目にします。 とても便利な機能なので、皆さん当たり前のように利用しているかと思いますが、実はけっこう実装が面倒です。 僕も自分の Mac アプリで実装したいと思ったのですが、情報が古かったり間違っていたり、日本語の情報が少なかったりで非常に苦労しました。 そこで、これから Mac アプリを作る人のために「ログイン時に起動」の実装方法をまとめておこうと思います。 「ログイン時に起動」3つの実装方法 「ログイン時に起動」を実装する方法は3つあります。(他にもあるかも, CFPreferencesとか) Lau
常々「クラス拡張をカテゴリってゆーな」って思ってるんだけど、「無名カテゴリ」自体は公式の呼称なんだよね。 [Objective-C] クラス拡張と無名カテゴリ - Qiita Objective-Cのクラス・カテゴリ・クラス拡張の整理 - $ cat /var/log/shin クラス拡張は、無名のカテゴリに似ています。が、別物です。一番の違いは、インスタンス変数を宣言できることと、宣言したメソッドはクラス本体の(=カテゴリ無しの)@implementationで実装しなければならない点です。 クラス拡張とカテゴリの一番の違いは、「クラス拡張はクラス実装と共にランタイムにロードされることが保証される」ことだと思います。 文脈として、もともとobj-c 2.0以前にはクラス拡張がなく、またメソッドのプロトタイプ宣言が必須だったこともあり、「外部に公開したくないメソッド宣言はプライベートなカテ
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど Defaults値を保存したい。あるいは参照したい。ベタには必要な箇所で書く(あちこち)。 [[NSUserDefaults.standardUserDefaults setObject:@"hoge" forKey:@"name"];でもキー名を直接書くわけにもいかず定数定義のヘッダを作る。 [[NSUserDefaults.standardUserDefaults setObject:@"hoge" forKey:KEY_NAME];でも synchronize を忘れたりするのでいっそのこと独自クラスを作ってそちらで管理する。 [myDefaults setObject:@"hoge" forKey:KEY_NAME];でも定数定義が毎回面倒。 なによりも設定/参照のコードが長い
iOS 7でSpriteKitという新しいゲーム作成用のフレームワークがでました。早速コレを使ってゲームを作って一攫千金を狙いたいと思います。 勢いだけで書いてしまったので、大分雑な感じになっていますが悪しからず。細かい部分はそのうち直していきます。。編集社って偉大。 SpriteKitとは iOS 7 / Mac OS 10.9から追加された、2Dゲーム用のフレームワーク 物理エンジンもついてる あれ、なんかCocos2Dに似てね iOS / Mac用の2Dゲームエンジンとしては、Cocos 2Dが有名ですが、実際のところSpriteKitはCocos 2Dとかなり似てます。 Cocos 2Dと比較した場合のSpriteKitのメリットとしては、 Apple純正だから多分今後のOS対応も安心? インストールの必要がないので手軽 UIKitの延長的な感覚で使える 物理エンジン使った時のコー
Introduction to Quartz Display Services Programming TopicsQuartz Display Services is an API that provides direct access to certain low-level features in the OS X window server. Quartz Display Services addresses two important types of functionality: the configuration and control of display hardware. This document is a collection of short articles that provides an overview of Quartz Display Services
こんにちは。 Sleipnir Mobile for iPhone / iPad 開発担当の宮本です。 調べてみると、Sleipnir Mobile の最初のコミットは 2010年9月6日で、もう3年近く開発しているようです。最初はこんな貧弱な API でブラウザなんて作れるわけ無いと思っていましたが、なんとかなるものですね。今では多くのユーザーさんに使っていただけるプロダクトになりました。 今回は、この3年間で、使ってきた UIWebView の技を紹介したいと思います。詳細な方法については書きませんが、UIWebView で何ができて何ができないのかはわかるかと思います。それぞれの詳細なやり方については機会があれば書いていきたいです。 目次 長くなりそうなので、目次を用意しました。 余裕があればアップデートするので、ブックマークでもしておいてください。 UIWebView の API
By Ole Begemann More about me and contact info April 25, 2013 Last update: December 13, 2013 Compiler warnings are one of the most helpful tools for developers. The compiler can not only warn you about obvious mistakes (such as a method you forgot to implement); it also identifies many code patterns that, though syntactically correct, are potentially dangerous (like signed/unsigned conversion) or
Please note: this article is part of the older "Objective-C era" on Cocoa with Love. I don't keep these articles up-to-date; please be wary of broken code or potentially out-of-date information. Read "A new era for Cocoa with Love" for more. Here's a tiny application that queries a webpage via HTTP, parses and searches the response and presents the results in a neatly formatted window. In essence,
他人から引き継いだプロジェクトの大まかな全体設計を把握したい場合、規模の大きいライブラリの一部だけ取り出して使用したい場合、複雑になってしまったコードをリファクタリングしたい場合等、プロジェクト内のクラスの依存関係が一望できると有益な場面は多いのではないでしょうか。 objc_depというスクリプトを用いると、下記のように、Xcodeプロジェクト内のクラスの依存関係を示す図をコマンド一発で生成することができます。 このスクリプトの使い方、生成される図の見方等を紹介します。 スクリプトの実行方法 次のURLからダウンロードしてきて解凍すると、objc_dep.py というファイルが入っています。 https://github.com/nst/objc_dep そのスクリプトを適当な場所に置き、ターミナルから次のように実行します。 というコマンドになります。 依存関係図を表示 出力される.do
はじめまして、おでんです。 なんかAdvent Calendarってのが流行ってるらしいので、乗っかってみました。 MethodSwizzlingは、Methodで行われる処理を差し替える手段のひとつです。 iOS向けの単純なサンプルを載せておきますので、実行してみて頂けると幸いです。 #import <objc/runtime.h> @interface Test : NSObject -(void)instanceMethod; @end @implementation Test -(void)instanceMethod { NSLog(@"instanceMethod"); } @end int main(int argc, char *argv[]) { @autoreleasepool { id block = ^{ NSLog(@"block"); }; id class =
CocoaBindingはInterface Builderから簡単に利用できるようになっているが、正直その裏の仕組みは、ちゃんと理解できていない...。しかし、仕組みが100%理解できていなくても、ケース別の書き方が理解できれば、便利に使えてしまうところが素晴らしい。詳細な仕組みを理解するのは後回しにして、自分なりに理解できた利用パターンをメモ。 仕様 サンプルアプリケーションの仕様は、前回と同じく以下のような単純なものだ。(プロジェクト名は「SliderControl」にした。) Sliderを動かすと、連動してTextFieldの数値が変化する。 TextFieldに数値を入力すれば、Sliderが数値に対応した位置に移動する。 共通の作業 Interface Builderで以下のようなユーザーインターフェースを設定しておく。 スライダーのContinuousはチェックありの状態(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く