タグ

Objective-Cに関するillmaiのブックマーク (86)

  • アプリケーションの存在するディレクトリを取得するには?

    現在作っているアプリケーションで、アプリケーションの実行ファイルの存在するディレクトリと同じディレクトリに存在するファイルを参照することを考えています。 そこでどうすれば取得できるをを考えてみたのですが、Windowsの場合、シュートカットで明に作業ディレクトリを指定して起動しない限り(DOS窓からの起動は除く)デフォルトのカレントディレクトリは実行ファイルの存在するディレクトリになっているので、Cocoa環境での起動時のカレントディレクトリがどうなっているのか調べて見ました。 DarwinレベルのAPIであるgetcwd()で実験して見たのですが、Xcodeから実行させた場合は実行ファイルの作成される"build"ディレクトリになっているのですが、Finderから起動させるとなんとルート("/")になっており、カレントディレクトリは使用できないことがわかりました。(後から調べたらカレント

  • iOS Developer Library

    Documentation Archive Search Documentation Archive Documents Copyright © 2016 Apple Inc. All rights reserved. Terms of Use Privacy Policy

  • Cocoaでサンプルコードを書く時のひな形の作り方

    MacOSXプログラミング。毎日更新。 話題: Cocoa, Objective-C, Snow Leopard サンプルプログラムのひな形の作り方の紹介。 初めて使うクラスの検証やちょっとした動作確認するときにこのひな形があると便利。 全部で 3step 1. 新規プロジェクト作成 2. クラス作成 3. InterfaceBuilderでインスタンス作成 1. 新規プロジェクト作成 Xcodeを立ち上げて新規プロジェクトを作成する。 "Cocoa Application" を選ぶ。 ここでは Sample という名前でプロジェクトを保存する。 プロジェクトが用意できた。 2. クラス作成 検証用コードを記述するクラスを1つ作成する。メニューから「新規ファイル...」を選ぶ。 "Objective-C class" を選択する。 名前は "AppController" とする。 AppC

    Cocoaでサンプルコードを書く時のひな形の作り方
  • UIView画像加工レシピ集 - jarinosuke blog

    リッチなインターフェースにするために。 アプリを作る以上、ダウンロードしてもらったユーザには一回でも多くタップしてもらいたいですよね。 タップワーシィな UI を作るためには、現実のメタファーを反映させたコントロールを作る必要があります。 もちろん iOS SDK に付属している UIKit を用いるだけで十分な場合も多いのですが、今までにない独創的なアプリを作るためには、自分でイチから UI を作り込まなければいけない場合もあります。 しかし、 イチから作るとなると CoreAnimation や Quartz など今まであまり触ったことのないレイヤまで手を加えないといけないような気がして、腰が引けてしまったりすると思います。(自分がそうだっただけですが…) そこで「CoreAnimation とか良く分かってないけど、ちょっとリッチな UI にしてみたい」っていう人のために、簡単な画像

    UIView画像加工レシピ集 - jarinosuke blog
  • Draw line opacity in Xcode for Titanium

    I'm new with xCode and I have a problem with it. I'm making an application for my Ipad. I want to highlight text, but I can't set the opacity of my line. I searched the internet, but i didn't find any information on it.Now Im using this drawImage.alpha = lineOpacity; but this is not good, everything I draw before gets that opacity.I just want the alpha to be done on the new draw. im using this cod

    Draw line opacity in Xcode for Titanium
    illmai
    illmai 2012/07/26
    CGColorRetain([UIColor colorWithRed:1.0f green:1.0f blue:0.0f alpha:0.5f].CGColor);
  • 時計仕掛けのiPhoneアプリ(4) – addSubViewされたビューコントローラの行方 | アルゴニートブログ

    iPhoneアプリ練習として作っている時計アプリ。 アラームのビューを [ addSubView: ] で追加しましたが、その際に 「何も考えずに作成したコントローラを release するとアプリは死んじゃいます。」 と記載いたしました。 サンプルのソースではこのコントローラを開放( release ) していませんでした。では、この時ビューコントローラはどうなっているのでしょうか? そもそも、開放されているのでしょうか? 結論から申し上げれば、このコントローラは開放されません。つまりメモリリークです(ごめんなさい) 今日のiPhoneアプリでは、[ addSubView: ] されたビューコントローラの行方を探りたいと思います。 前回のおさらい 前回、ビューを重ねる際に [ addSubView: ]メソッドを利用しました。 とりあえず、ビューの親子関係は次のようになっているとしま

  • 【 iOS 開発 Tips】あなたも気付いていないかもしれないメモリリークの恐怖

    こんにちは、共同開発部 iOS アプリ開発担当の図子です。 iOS 開発をしている皆さんはメモリリークのチェックを行っていると思います。どのような方法で確認していますか?おそらく以下のような方法で行っていると思います。 ・Static Analyzer を使う ・Instruments の Leaks テンプレート でも、これだけでは見つからないメモリリークが起こりうることをご存じでしょうか? addSubview: で何枚もの View を貼っていないか? 実際にメモリリークと呼べるかどうかは微妙かも知れませんが、開発者の意図しない不要なメモリがドンドン確保される可能性があるのでここではメモリリークと書かせていただきます。 非常に気付きにくいメモリリークとは view に addSubview: する際に起こりやすいのです。 以下のコードを見てください。ある UIViewControll

    【 iOS 開発 Tips】あなたも気付いていないかもしれないメモリリークの恐怖
  • https://bugcloud.com/?p=936

  • 画面遷移の3パターン

    こんにちは、こーじーです。 iPhoneアプリの開発を始めて僕が最初にハマったのは画面遷移です。 画面を移動する為に主に3つの方法があるのですが、そのうちNavigationControllerを使う方法でかなりはまりました。 基底となるViewControllerを設定していなかったり、もともとIBを使わずにコードだけで画面を作っていたものを後からXib化すると動かないとか。 3つの方法って?という方もいらっしゃるのではないでしょうか? これです! 1、 AddSubViewを使ったパターン 2、 modalViewを使ったパターン 3、   NavigationControllerを使ったパターン そのうち一番めんどうなのがNavigationControllerを使ったパターンだと思いますねー 基となるのが1番目のAddSubViewのパターンです。 でも、僕が一番好きなのは2番の

  • U2Kの覚え書き addsubviewする時にフェードインで表示させる方法

    iphoneアプリでaddsubviewする時にフェードインアニメーションっぽくする方法。 [myView setAlpha:0.0]; myView.backgroundColor = [[UIColor alloc] initWithRed: 0.0 green: 0.0 blue: 0.0 alpha: 0.0]; // アニメーション処理 [UIView beginAnimations:nil context:NULL]; // 0.75秒で [UIView setAnimationDuration:0.75]; [myView setAlpha:1]; myView.backgroundColor = [[UIColor alloc] initWithRed: 0.0 green: 0.0 blue: 0.0 alpha: 0.8]; [self.view addSubview:

    U2Kの覚え書き addsubviewする時にフェードインで表示させる方法
  • NSUserDefaults - iPhoneアプリ開発の虎の巻

    アプリケーションの設定値など、アプリを停止させてもずっと保持しておきたい情報などはよくありますが、NSUserDefaultsを使うとそうしたデータを簡単に保持できます。 使い方としてはNSUserDefaultsを取得して、取得したNSUserDefaultsに対してデータを保存したり取り出したりすることでデータ保持を行います。 NSUserDefaultsのクラス階層 生成 // NSUserDefaultsの取得 NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; NSUserDefaultsを取得する時は常にこの方法で取得します。この方法だとNSUserDefaultsがある場合はそれを返してくれ、NSUserDefaultsが無い場合は新規に生成して返してくれます。 NSUserDefaultsのメソッド 【NS

  • マルチコア時代の新機軸! Snow LeopardのGCD (3/4)

    GDCを使ったプログラミング 空いたスレッドを自動的に再利用 GCDはエンジンが優れているだけではない。とにかく使うのが楽なのだ。では、試しにGCDを利用してみよう。 下記のリストは、簡単なサンプルプログラムだ。10周のループがあり、1周回るごとに「3秒待ってメッセージを出力する」というタスクを1回実行する。 実行結果はリストの下にある通り。1周回るたびにタスクそのもので3秒、ループの待ち時間で1秒の合計4秒を使い、40秒かかって実行されているのが分かる。 このソースでは、dispatch_get_global_queueで優先順位「標準」のキューを取得して、dispatch_asyncでブロックをこのキューに登録。即座に処理を続行するという流れだ。ブロックの実行と並列してこのループを繰り返えすので、10個のブロックが1秒おきに次々とキューに投入される。 キューはできるだけ並列にブロックを

    マルチコア時代の新機軸! Snow LeopardのGCD (3/4)
  • 日本語ドキュメント - Apple Developer

    語ドキュメント 日語に翻訳されたiOS/watchOS/tvOSのドキュメントです。 英語版の方が新しい場合がありますので、更新日を確認して下さい。 エンタープライズ環境での運用に関するドキュメントはこちらに移動しました。 App Store Connect ヘルプ タイトル 日付

  • Memory Management of Cocoa

    Cocoaのメモリ管理(3) 保持と解除という方法は、理屈は分かるし簡単そうに見えます。しかし、実際にやってみると意外と難しいことがわかります。そこでCocoaでは少し楽をするための仕組みを導入しています。簡単に言えば、とりあえずなんでも入れておけるごみ袋を用意して、不要になった時点でごみ袋ごと捨てちゃうという方法です。このごみ袋にあたるのが、NSAutoreleasePoolというクラスです。 Application KitにおけるNSAutoreleasePool さて、Cocoaの重要なフレームワークの一つであるApplication Kitの話から始めたいと思います。Application Kitは、主にGUIを持つアプリケーションを作成するためのフレームワークです。このフレームワークを利用して作ったアプリケーション(つまり、ぶっちゃけた話、ProjectBuilderとInter

  • autorelease を使うべきなんだと気づくまでに時間かかりすぎた - 好き勝手に・げーあにん?

    ※2013/06/04 追記:今はARCの時代です。autoreleaseとかで悩んでないでARC使いましょう。過去のソースのメンテとかしてる人は頑張れ autorelease をケチらずに使うべきなんだということにようやく気づいた、Objective-C 初心者の私が Google Objective-C Style Guide を読みつつ思考垂れ流し。 Google Objective-Cスタイルガイド 日語訳 Google Objective-C Style Guide 生成時に autorelease するのが望ましい 一時的なオブジェクトを新しく生成するときには、そのメソッドの後ろの方で個別に release するのではなく、オブジェクトの生成と同じ行で autorelease すること。 http://www.textdrop.net/google-styleguide-ja

    autorelease を使うべきなんだと気づくまでに時間かかりすぎた - 好き勝手に・げーあにん?
  • Cocoaの日々: UIImage から縮小画像を生成する (2) iPhone4 高解像度対応

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど [前回] Cocoaの日々: UIImage から縮小画像を生成する 前回作成したメソッドに手を入れて iPhone4向け高解像度対応を行う。 デバイス毎の解像度に対応した縮小 例えば 960x300 の縮小画像を作成する場合、iPhone 3G/3GS で横幅ぴったりに表示できる画像のサイズは 320 x 100 となる。一方、iPhone4の場合は 640 x 200 が望ましい。どちらか一方のデバイスをターゲットにするアプリの場合は特に問題ないが、両方のデバイスをターゲットとする場合はデバイスの解像度に合わせた縮小率を適用する必要がある。 UIGraphicsBeginImageContextWithOptions iOS4 からは UIGraphicsBeginImageCon

    Cocoaの日々: UIImage から縮小画像を生成する (2) iPhone4 高解像度対応
  • iPhone開発でボタンのタップ時間を取得する方法 - OKWAVE

    startTap = [NSDate date]; > startTap = [[NSDate alloc] init]; あるいは [[NSDate date] retain]; いまのままでは、「autorelease」状態にあるので、インスタンスstartTapは、いつ開放されてもおかしくありません。「EXC_BAD_ACCESSのエラー」というのは、開放されたあとで、アクセスしたというエラー。 ここらへんの詳しいことは、お手持ちのiPhoneアプリ開発の解説書で、「Retain Count」を索引で牽いてください。 なお、開放されないように変更すると、ぎゃくにいつまでたっても開放されないので、deallocメソッド内で、releaseを送るのを忘れずに。 - (void)dealloc { [startTap release]; [super dealloc]; } もうひとつの手

    iPhone開発でボタンのタップ時間を取得する方法 - OKWAVE
  • 『iPhoneアプリ開発、その(148) 写真ゲットだぜ』

    いよいよ残るは画像をHTTPサーバに送り込む機能の実装。 で、肝心の画像はどこから?ってなるとやっぱカメラとかアルバムからでしょう。 SMS/MMSはどうやってんねやろと とUIActionSheetが出るようになってました。 ま、私のは静止画しか考えてないのでビデオは抜いて 写真を撮る 既存の項目を選択 とします。 ここらへんの実装方法は木下誠さんの連載 実践! iPhoneアプリ開発: カメラアプリの作り方(1) - イメージピッカーのためのアクションシートを作る カメラアプリの作り方(2) - カメラで写真を撮る カメラアプリの作り方 (3) - 写真を縮小して表示する カメラアプリの作り方 (4) - 写真にエフェクトをかける が非常にピンポイントで参考になりました。 あと小池邦人さんのサイト、特に2009/06/06~2009/10/20なんて、かなり参考になりそう。 Koike

    『iPhoneアプリ開発、その(148) 写真ゲットだぜ』
  • ローカライズの設定について - It_lives_vainlyの日記

    勘違いをしている人がいると思うのだが、iPhone の一番優れているところは、独特のインターフェースでも、操作感でも、レスポンスでも、画面イメージでもなくって、 AppStore を通して、ごく限られた端末をターゲットにしたアプリを、全世界に配信できるという点だ. しかも、課金だとか配信地域だとかという面倒な問題は全て Apple が請け負ってくれる. こういったシステムを考え、市場に対してチャレンジした企業ってのは数多くあれども、AppStoreっちうか Apple ほど成功している企業は他にないだろう. 純粋な携帯電話ハードウェア屋さんだとかキャリアだとかが、それこそ喉から手が出るほど欲しがっていたシステムを、つい先日まで携帯電話とは関係ない世界に 身を置いていた Apple が手に入れてしまうってあたりが面白い. AppStore にアプリが並んで、同じ国に住んでいるお友達に自慢でき

    ローカライズの設定について - It_lives_vainlyの日記
  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。