タグ

objective-cに関するDOISHIGERUのブックマーク (113)

  • Cocoaの日々: ネットワーク接続状況を知る

    ネットワーク接続状況を知るための API等を調べてみた。前半はアップル提供のサンプルコードについて、後半は自作サンプルについて(ソースコードは GitHubで公開)。 アップル提供のサンプルコード Reachability SystemConfiguration フレームワークを使うとネットワークの接続状況(WiFi利用または3G回線利用か、接続不可か)を知ることができる。 iOS Reference Library に Reachability というサンプルがある。 Reachability: Classes/Reachability.m WiFi接続時 この程度の情報が取れることがわかる。 利用は、まず SCNetworkReachabilityRef を取得する。 SCNetworkReachabilityRef reachability = SCNetworkReachabili

    Cocoaの日々: ネットワーク接続状況を知る
    DOISHIGERU
    DOISHIGERU 2013/01/16
    ネットワーク接続状況
  • nxmnpg.com

    DOISHIGERU
    DOISHIGERU 2012/12/26
    システム情報の取得設定
  • iOSで端末情報を取得する - 酢ろぐ!

    記事は「端末情報(デバイス情報)を取得する - iOSアプリ開発の逆引き辞典」に転記しました。プラットフォームコードと製品名とのマッピング表はリンク先の記事の方が最新となっています。 iPadだったらこうするiPhoneだったらこうする。はたまた、iPhone 4は良いがiPhone 3GとiPod touch 2Gはメモリが少ないのでこの機能をドロップするなど、端末のモデルによってあれしたいこれしたいという事が多々あると思います。 端末情報を取得する方法についてご紹介したいと思います。 iOSのバージョンを取得する NSString* sysVersion = [[UIDevice currentDevice] systemVersion]; モデルを取得する NSString* model = [[UIDevice currentDevice] model]; プラットフォームを取得

    iOSで端末情報を取得する - 酢ろぐ!
  • 『これからiPhoneアプリ開発を始めたいあなたに捧げる10個のキーワード』

    大阪で働く社長のブログ 大阪の堺筋町というところで働く社長のブログです つらつらと思った事を書いてるだけの駄文集です。 なんか上から目線な感じになっててすみません... 今回はアプリ開発ネタです。 世の中便利になりまして、気づけばネットで色々調べれるようになりまして、 開発においても基的なことであれば、検索すれば解決することもできます。 ただ、全くはじめての段階ですと、どのようなキーワードで検索すればいいのかさえ わからなかったりします。 そこで、これからアプリ開発を始めてみようとしている方におすすめしたいキーワードを ピックアップしてみました。 参考になれば幸いでございます。 1.UIAlertView これちょいちょい使うやつです。ぽこんとでてくるやつですね。 ユーザーにメッセージや警告など何らかのメッセージを表示させたい場合に使います。 2.UIActionSheet これまたよ

    『これからiPhoneアプリ開発を始めたいあなたに捧げる10個のキーワード』
    DOISHIGERU
    DOISHIGERU 2012/11/02
    EXC_BAD_ACCESSの絶望感
  • 技術者向け iOS6 新機能! - かみやんの技術者ブログ

    上図、左がiPhone5、右がXperia GX iOS6でましたね〜。iOS6の発表は、夜中の2時にネットの前に待ち構えて、ワクテカしながら発表を聞いていました。毎度毎度テンションが上がりますね! iPhone5でましたね〜。僕は、ソフトバンクのオンラインショップで発売日の16時に予約サイトに行って、サーバ混雑中と1時間ほど格闘しながら予約しました。発売日の翌日にiPhone5が届きました〜。 iOSディベロッパーならみんなMAX盛り上がるときだよね。祭りだ!祭りだ! さて新しいOSがでたら必ず新機能をチェックすべし!アプリ企画者、ディレクター、プログラマならみんなチェックすべし!どこに企画のネタが落ちているか分からないし、どこに自分のアプリの改善可能点があるか分からないし。これは必須!という訳で毎度おなじみのiOS Dev Centerの新機能紹介ページの翻訳です。いつもOSリリースと

    技術者向け iOS6 新機能! - かみやんの技術者ブログ
  • ちょっとだけ NSWindowController:名称未設定2:So-net blog

    NSXMLParserの代わり|FireFox 1.0.1が出た ブログトップ ちょっとだけ NSWindowController [Cocoa覚え書き] [編集] ドキュメントベースアプリケーションで、ドキュメントウィンドウのタイトルは、デフォルトではファイル名になっている。これを変更する場合には、 NSWindowController を使ってくださいと、ドキュメントに書いてあるけど、ちょこっとやるには次のようにすればよい。 ○ NSWindowController のサブクラスを作成してファイルを生成する ○ NSDocument のサブクラスの実装ファイルに作ったファイルのヘッダを #import する ○ NSDocument のサブクラスにある -(NSString*)windowNibName の実装を削除(コメントアウト)する ○ NSDocument のサブクラス に -

    DOISHIGERU
    DOISHIGERU 2012/10/29
    NSWindowController
  • はてなブログ | 無料ブログを作成しよう

    コンビニ勢力地図2024-2025 三重にファミマが多くないか? このところ三重県と愛知県に行く機会が多かったのだが、車で国道を走ってるとやたらファミマを見る気がしていた。地域によってコンビニの種類に偏りがあるとは思っていたが、実際どうなのか。調べてみたのでお伝えしたい。 これが日国…

    はてなブログ | 無料ブログを作成しよう
    DOISHIGERU
    DOISHIGERU 2012/10/29
    NSWindowController
  • ドキュメントベースアプリケーションアーキテクチャ

    ドキュメントベースアプリケーションアーキテクチャ ここではドキュメントベースアプリケーションのアーキテクチャについて説明します。この仕組みをうまく使うと色々と楽ができるのですが、そのためにはまず対象をよく理解する必要があります。車輪を再発明する愚を犯さないためにも、用意されているものはうまく活用したいものです。 参考資料 この文章を書くにあたってアップルの日語資料「アプリケーションアーキテクチャ入門」、「ドキュメントベースアプリケーション入門」を参考にしています。ただし、これと同じ事を書いても意味がないので、より範囲を限定しその分わかりやすくという内容を目指します。 したがって例外があって厳密には異なる場合でも、断定的な表現としますのであしからず。厳密な事が知りたい場合はもとの参考資料をあたって下さい。 ドキュメントベースアプリケーションアーキテクチャとは何か ユーザーが作成したデータを

    DOISHIGERU
    DOISHIGERU 2012/10/29
    NSDocument
  • 『【iPhoneアプリ開発ドリル】CALayerのcontentsを理解する』

    このドリルではCALayerのcontentsを直接変更する事で、画面上にAquaライクなボタンを描く。 まずはプロジェクトAquaを作成し、UIViewを継承したAquaButtonViewクラスを作成する。 まず、よく観察すると、この画像はグラデーションで塗られた領域をラウンドレクトで切り取っている事がわかる。 このうち、ラウンドレクトで切り取る事はCALayerのcornerRadius、masksToBoundsプロパティを設定してやればいい @implementation AquaButtonView - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { CALayer* internalButton = [CALayer layer]; internalButton

    『【iPhoneアプリ開発ドリル】CALayerのcontentsを理解する』
    DOISHIGERU
    DOISHIGERU 2012/10/11
    アクア風ボタンをCALayerで実現する
  • Google、JavaをObjective-Cに変換する「J2ObjC」を公開

    Googleのオープンソースブログにおいて、JavaのソースコードをObjective-Cのソースコードに変換するトランスレータ「J2ObjC」が紹介されている。J2ObjCは、iOS基盤フレームワーク(Xcode)を利用してダイレクトにJavaクラスをObjective-Cクラスに変換するオープンソースのコマンドラインツール。データアクセスやアプリケーションロジックといったアプリのUI以外のコードをJavaで記述し、iOSアプリやAndroidアプリ、Webアプリで共有するといったことを目的としている。 J2ObjCは現在、エクセプションや内部/匿名クラス、総称型、スレッド、リフレクションといったクライアント側のアプリケーション開発に必要なJava言語の機能をサポートとしている。また、JUnitテストの変換や実行にも対応。プロジェクトによると、開発中のJ2ObjCのクオリティはアルファと

  • UIWebView.scrollView に対して KVO を使うと色々面白い

    iOS 5より、UIWebViewにscrollViewプロパティが追加され、たとえばスクロールを無効にしたりステータスバーをタップしても一番上に戻らないようにしたりなど、UIWebViewのスクロール周りの処理を外から自由に触れるようになりました。ですが便利なのはこれだけではありません。KVOの仕組みを使うことで、さらにUIWebViewを便利に使うことができます。ここでは私が使っている中で一番のおすすめをご紹介します。 ■UIWebViewの描画しているHTMLのcontentSizeを非同期的に、リアルタイムで取得する UIWebview.scrollViewのcontentSizeプロパティは、UIWebViewの描画しているHTMLの大きさ(contentSize)と同じ値になります。この性質を利用して、contentSizeプロパティにKVOを貼ると、UIWebViewの描画し

  • UIWebViewでWebとネイティブを相互連携させる方法について - プログラミングノート

    特定のページのみUIWebViewを使ってWebページを表示することはよくあると思いますが、そのページでの処理終了したタイミングで、再びネイティブコードを実行したいというケースがあります。 PhoneGapではJSからネイティブコードを呼ぶ仕組みが実現されていますが、これと似たような仕組みを作るにはどうすればよいのか紹介します。 ネイティブからWeb呼び出し JSを実行するためのメソッドがあるので任意のタイミングでそれを利用するだけでOKです。 [webView stringByEvaluatingJavaScriptFromString:@"alert('call from native');"]; 簡単ですね。 Webからネイティブ呼び出し UIWebViewDelegateにある、ページがロードされる前に呼ばれるメソッドを利用します。 - (BOOL)webView:(UIWebVi

    UIWebViewでWebとネイティブを相互連携させる方法について - プログラミングノート
    DOISHIGERU
    DOISHIGERU 2012/09/06
    UIWebView相互連携
  • Objective-Cで少しでも疎結合なプログラムを書くためのチェックポイント | TOKOROM BLOG

    チェック1. なんでもかんでもヘッダーファイルでimportしていませんか? 例えば、こんなコードを書いていませんか? #import "OtherLibrary1.h" #import "OtherLibrary2.h" @interface Library @property (strong) OtherLibrary1* otherLibrary1; @property (strong) OtherLibrary2* otherLibrary2; @property (assign) BOOL flag; @end Libraryというクラスを作り、そこでOtherLibrary1とOtherLibrary2をpublicなpropertyとする場合、当然のごとくOtherLibrary1とOtherLibrary2のimportが必要なわけですが、なにも考えずにヘッダーファイルでO

  • デバイスにインストールされているアプリ一覧を取得する - その後のその後

    自分のiPhone(やiPad)に入っているアプリ一覧って当然取れないものと思っていたら、Bumpにアプリ一覧を表示する機能があって、どうやってるんだろうってことで検討してみました。 方法としては、次の2つが考えられます。 アプリのプロセス名一覧を持っておいて、そのプロセスが存在すればインストールされていると判断する アプリのカスタムURLスキーム一覧を持っておいて、そのカスタムURLスキームが使用可能であればインストールされていると判断する 1の方法の長所は、どんなアプリでも適用可能なこと。ただし、起動中もしくはバックグラウンドでタスクが生きているアプリしかとれない。 2の方法はタスクが生きていないアプリでもとれる代わりに、カスタムURLスキームをもっているアプリしかとれない。 で、どちらの方法も、あらかじめアプリのプロセス名、あるいはURLスキームを知っている必要がある、という大きな欠

    デバイスにインストールされているアプリ一覧を取得する - その後のその後
    DOISHIGERU
    DOISHIGERU 2012/08/13
    インストールアプリ探索
  • クラスを更に考える(2/8):初心者のためのObjective-Cプログラミング入門 - libro

    コンビニエンスコンストラクタというのは、わかりやすくいえば「インスタンスを作って返すためのメソッド」です。先のサンプルからもわかるように、インスタンスの作成というのは意外に面倒なものです。allocしてinitしてautoreleaseして、それから必要なインスタンス変数に値を設定して……。そうしたことをまとめて行ってくれ、準備完了したインスタンスを返してくれる、それがコンビニエンスコンストラクタです。 では、実際に作ってみましょう。下にMyTestClassにメソッドを追加したサンプルを掲載しておきました。ここでは、こんな形でクラスメソッドを定義してあります。 +(MyTestClass*)myTestClassWithMessage:(NSString*)str;クラスメソッドですから、最初は「+」で始まります。そして引数としてNSStringを渡すようにしてあります。インスタンスを作

    DOISHIGERU
    DOISHIGERU 2012/07/26
    クラスメソッドについて重要なことが書かれている。
  • サンプルコード付きのiPhone向け開発リファレンスまとめ - labolo

    サンプルコード・ライブラリについて追記をいたしました。 iPhone向けの開発を始めてみたのですが、とりあえずobjective-cもcocoaも全然分からないので、サンプルコードでも見ながら始めようと思い資料漁ってみました。そのまとめです。 自分のブックマーク用ですので、随時更新していきます。 iPhone Dev Center apple提供の開発リファレンスです。サンプルコードも豊富ですので何か使い方が分からないクラスがあれば、とりあえずリファレンスから検索して、付随のサンプルコードを見てみるのも良いとおもいます。 CS193P - Cocoa Programming | Announcements スタンフォード大学でのiphone開発についての講義の資料です。 Apps Amuck ソースコード付きで毎日アプリを公開してくれているサイトです。 iPhone SDK Article

    DOISHIGERU
    DOISHIGERU 2012/06/11
    サンプルコード
  • Core Graphicsでつくる自作UIコンポーネント入門

    2. cocoponって誰ですか @cocopon デザイナに憧れる ホビープログラマです Windows用の Mac用の iPhone用の ゲームとか オフラインブログとか クミタテ電卓とか Osciroi Calqum

    Core Graphicsでつくる自作UIコンポーネント入門
    DOISHIGERU
    DOISHIGERU 2012/05/28
    CoreGraphicsの簡単な紹介
  • Safari用独自プラグインを作る(2) - Posing と Method Swizzling

    MacOSXプログラミング。毎日更新。 話題: Cocoa, Objective-C, Snow Leopard (前回)Cocoaの日々: Safari用独自プラグインを作る(1) - ひな形プロジェクト作成 Safari への組み込みが確認できたので実装に取り組もう。アプリケーションプログラムの挙動を変えたり機能を追加するには2つの方法があるようだ。 CocoaReverseEngineering - Wikir Posing Method Swizzling Posing Posing は +[NSOjbect poseAsClass:] を使い、任意のクラスで既存のクラスを「乗っ取る」ことでアプリケーションの挙動を変える。 例えば独自に NSWindowのサブクラスを用意して poseAsClass:を使う場合はこんな感じでできる。 [XCWindow poseAsClass:[N

    DOISHIGERU
    DOISHIGERU 2012/04/17
    posing等のテクニック
  • Invitation to CoreAnimation – NIT-Universe

    Animating UIViewのエントリーでUIViewにラッパーされたCoreAnimationを使ってみたのだけど、今回はもう一歩CoreAnimationの世界に踏み込んでみる。とはいっても、アニメーションさせようっていうわけでなく、CoreAnimationで用意されている機能を使ってちょっとおいしいところをつまんでみようかということなのだ。 CoreAnimationOSXではLeopardで追加された機能の一つなのだけど、iPhoneOS(おっとiOS)では最初から使える機能だ。ただ、CocoaCocoa touchの類似性を保つためなのか、そのViewとの関係性は同じように実装されている(何となく後付け的な感じがうかがえる)。 UIViewに対応してそのCoreAnimationレイヤーであるのがCALayerクラスだ。layerプロパティがUIViewに用意されている

    DOISHIGERU
    DOISHIGERU 2012/04/10
    CALayer
  • ないのなら作ってしまえpresentingViewController - Objective-Cで動的メソッド追加

    Objective-Cランタイムシステムを直接操作して、iOS 5から新しく追加されたメソッドをiOS 4で動かしたときにも使えるようにしてしまえ、という話です。 例題:parentViewController問題 iOSでUIViewController「親」からUIViewController「子」をモーダル表示したとき、これまでは子のparentViewControllerに親が格納されていましたが、iOS 5からはそれがnilになって、代わりに新しくできたpresentingViewControllerに格納されるようになりました。iOS 5からUIViewControllerにコンテナ機能が追加されたので、その辺色々整理されたのでしょうか。 参考:http://cocoa.hatenablog.com/entry/2011/11/24/222140 なので子から親を呼びたい場合、

    ないのなら作ってしまえpresentingViewController - Objective-Cで動的メソッド追加
    DOISHIGERU
    DOISHIGERU 2012/04/05
    クラスにメソド追加