タグ

iosに関するdealforestのブックマーク (210)

  • Objective-Cのアクセサの話 : As Sloth As Possible

    scrollView.canCancelContentTouches = NO; [scrollView setCanCancelContentTouches:NO]; って書き方があってこれみんなどういう使い分けしてるんだろうなぁ。。って思ってます。 セッター - poohtarouの日記 セッターというか、ドット記法の話かな。 ドット記法と普通のメソッドの使い分け まぁ、まずはこんなクラスがあったとします。 @interface Book : NSObject { NSObject *title; } @property (retain) NSString *title; @end このクラスのオブジェクトを作ってtitleを設定/参照するコードはこんな感じです。 Book *book = [[Book alloc] init]; // ドット記法 book.title = @"Dyn

    Objective-Cのアクセサの話 : As Sloth As Possible
  • Hacking UIScrollView Gesture Recognizers

    As of SDK 3.2 most of the touch handling code in stock controls has been taken out and replaced with this amazing new technology called Gesture Recognizers. This means besides of using them yourself and creating your own you can also fiddle with behaviors of standard controls if they interfere with your own gestures. I’m currently working quite a bit on something based on UIScrollView and there I

    Hacking UIScrollView Gesture Recognizers
  • AppStore経由で入れたアプリのデータをXcodeで.xcappdataとして取り出す方法 | Technology-Gym

    Xcodeでは自分でビルドしたアプリのapplicationDataを.xcappdata(中身はアプリのディレクトリが殆どそのまま入ってる)として取り出すことができ、 この.xcappdataを使うとXcodeからそのアプリの状況を再現してデバッグをすることが出来ます。 詳しくは以下の記事を読んでみて下さい 中級者向け iOS デバッグ Tips – jarinosuke blog 自分でビルドしてiPhoneに追加したアプリはXcode の Organizer に表示されるのですが、 AppStoreから入れた場合、デバッグビルドで上書きしてもXcode の Organizerに表示されないことがあります。 今回はAppStoreで入れたものでも、 Xcode の Organizerにでるようにする方法についての話です(もちろん、自分でビルドできるものに限ります) 単純にまとめるとip

  • こんな書き方できたんだ!? - griffin-stewieのブログ

    今日貯めてた Reading List を見てたらこんな記事が。 New thing I do in code 例 以下のようなコードが動きます。 self.downloadButton = ({ UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; NSLog(@"%s %@", __PRETTY_FUNCTION__, button); button.frame = CGRectMake(40, 40, 100, 50); [button setTitle:@"Donwload" forState:UIControlStateNormal]; [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIContro

    こんな書き方できたんだ!? - griffin-stewieのブログ
  • Cocoaの日々: CALayer を使ってビューの内側に影を落とす

    CALayer を使うと簡単にビューに影を落とすことができる。 CALayer* layer = self.imageView1.layer; layer.shadowOffset = CGSizeMake(2.5, 2.5); layer.shadowColor = [[UIColor blackColor] CGColor]; layer.shadowOpacity = 0.5; ただこの方法はビューの外側に影を落とせても、ビューの内部には影を落とせない。 どうするか。 CALayer のプロパティを眺めていていると shadowPath に気がついた。このプロパティには CGPathRef を渡すことができる。 @property CGPathRef shadowPath;もしかしてこれを使って任意の場所や形で影が落とせないか。 試しにこんな矩形のパスを作って渡してみた。 CALay

    Cocoaの日々: CALayer を使ってビューの内側に影を落とす
  • iOS6とNSDateFormatterと和暦と24時間表示オフで発生しやすいバグについて | Technology-Gym

    まず、iOS6でのNSDateFormatterの変更点について ios6 – NSDateFormatter show wrong year – Stack Overflow で書かれているようにYYYYを使った場合の挙動が変わっている。 基的はyyyyを使うべきな場合が殆どなので、yyyyをつかうのを推奨 ここから先は、<strong>iOS6だけではなく他のバージョンも共通</strong>で、<br />iOS設定とNSDateFormmaterでよく発生させてしまうバグについて 和暦バグ iOSの設定.app -> 一般 -> 言語環境 -> カレンダー -> 和暦 or タイ歴 を設定したい場合に、 平成xx年のxxがyyyyに入ってしまい、表示がおかしくなったり、この結果を取得して加算などを行なっていた場合にはアプリがクラッシュするなどのバグが発生する。 NSDateFor

  • Web コンテンツ内にネイティブ iOS アプリを埋め込めるサービス『app.io』の使い方 - その後のその後

    app.io は、『ブラウザ内でネイティブ iOS アプリを動かせるようにする』サービスです。 イメージとしてはiOSシミュレータをそのままWebコンテンツに埋め込める と考えるとわかりやすいかもしれません。タップ等のインタラクションが効いて、もちろん通信もします。アプリのランディングページや、ブログの紹介記事に埋め込んだりすると良さそうです。 で、「導入にはさぞ複雑な手順が。。」と思いきや、実際にアプリを動作させるまでの手順はめちゃくちゃ簡単です。 ファイルを1つアップするだけ。 以下で具体的に説明します。 導入手順 1. アプリをビルド いつもの普通のビルドです。Xcode でターゲットとして 「シミュレータ」を選択 し、ビルドします。 2. .appファイルをアップロード "Upload Your App" から、 下記パスにある .app ファイルを zip で固めて アップロード

    Web コンテンツ内にネイティブ iOS アプリを埋め込めるサービス『app.io』の使い方 - その後のその後
  • 意識高いiOSアプリのつくり方 - 方向

    編 1. Objective-Cで書く Obj-C使いたくないが諦める 結局Obj-C使うのが一番楽であることに気づくのだ 2. Xcodeを使う VimとかEmacsとかAppCodeで書きたいが諦める 結局Xcode使うのが一番楽であることに気づくのだ 設計編 3. 仕様とUIをしっかり設計してから実装する きちんと設計しないとあとから大量の手戻りが発生して泣きたくなる。 技術的に可能なことをやろうとしているのか 基的な画面設計 メインのビュー部分 ナビゲーション方法(TabBarなのかNavigationBarなのかNavigationDrawerなのか) くらいは最低限調査・設計しておく 4. フレームワーク的ライブラリを使わない UIKitは既に十分にフレームワークになっており、新たな思想を持ち込む必要はない Reactive Cocoaを使うのはUIKitのMVCをよくよ

    意識高いiOSアプリのつくり方 - 方向
  • Cocoaの日々: [iOS] 非同期処理を同期処理に変える

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど 問題 この前リリースしたカスタム UIAlertView は表示メソッドを呼び出した後はそのまま処理が続行される。 Cocoaの日々: [iOS] ユーザ名/パスワードの入力ができるカスタム UIAlertView ライブラリを公開 例えば下記のような場合。 - (IBAction)showAlert:(id)sender { [LKAccountPanel showWithTitle:@"Test" completion:^(BOOL result, NSString* username, NSString* password) { NSLog(@"result: %d\nusername: %@\npassword: %@", result, username, password)

    Cocoaの日々: [iOS] 非同期処理を同期処理に変える
  • iOS 7のアイコンがダサいと感じるのは何故か?という考察。

    先のiOS 7テンプレートを作るにあたって、色々と錯視調整について調べたりしました。 そこで、至ったひとつの考えをちょろっと書いてみようかな、と。 いきなりタイトルで『ダサい』と断言しちゃってますが、もちろん賛否両論あるのは理解しているつもりです。 だけど、個人的にはダサく感じる。というのが音。 でも、それを可愛いと感じる人たちがいる。その感覚も分からないでもない。 では、なぜ、ダサいと感じるのか? さらになぜ、可愛いと感じる人がいるのか? その答えの一端がなんとなく見えた気がしたので軽く説明していきます。 — 追記 — この記事を書いてしばらくしてから、別の視点からもアイコンについて考えた記事をアップしました。 ご興味のある方は下のリンクも是非。 関連記事:iOS 7 時代に良質なアプリアイコンをデザインするための十ヶ条 ———— 錯視調整とは?どうして必要なのか? ちなみに冒頭の錯視

    iOS 7のアイコンがダサいと感じるのは何故か?という考察。
  • iOSアプリで使う画像ファイル名の命名ルールについて | Technology-Gym

    デザイナーさんと一緒に仕事する時に、iOSアプリで使う画像のファイル名について悩むことがあります。 例えば、button.png や arrow.png といった、ユニークじゃない名前がファイル名に使われると、 画像が少ないうちはいいですが、画像が多くなると、どこに/いつ使われるべき画像なのかがファイル名から読み取ることが難しくなってしまいます。 また、button01.png のような連番になると、その順番が崩れた時に問題が起きたり、何か命名ルールについて共通の認識が欲しいなーと思っていました。 画像ファイル名の命名規則 New York Times Mobile Team の Objective-C(iOSアプリを書く言語)についてのコーディングルール(コードを書く作法)が公開されていて、 NYTimes/objective-c-style-guide この中に、画像のファイル名の命名

  • Objective-C勉強会@東京 8月でiOSライブラリの開発方法について発表してきた

    Objective-C勉強会@8月 Objective-C勉強会@東京 8月 – Objective-C勉強会@東京 | Doorkeeper に参加/発表してきたのでメモ 「メタプログラミングとCategory」 – @akuraru Metaprogramming メタプログラミング ロジックを生成する高位ロジックのこと マクロ等 クラスやメソッドを生成するロジックの事 Objective-Cには実行時に行うことができる => カテゴリ カテゴリ コンパイル時に既存のクラスにメソッドを追加、上書きできる機能 ヘッダーファイルを読み込んで無くてもコンパイルできてしまう よいところ 手軽 ファイル分けができる Viewの更新だけを、カテゴリに分けたりすることができる テストするとき便利 カテゴリでテスト用にヘッダーを作れる Objective-Cのテストクラスからプライベートメソッド/プロ

    Objective-C勉強会@東京 8月でiOSライブラリの開発方法について発表してきた
  • 新審査基準、PIE Binary とは - Toyship.org

    どうやら、この2、3ヶ月の間に、Appleの審査基準にまた新しい項目が追加されたようです。 古いアプリを修正してリリースする方は注意してくださいね。 (最近新規プロジェクトを作成してビルドをした方はたぶん大丈夫だと思います。デフォルトの設定ではPIE Binaryになっているはずです。) 2013/9/11追記:今日発表になったiPhone 5sのA7チップは、いままでのiPhoneで採用されていた32bitではなく64bitです。64bitのiOSでは、non PIE binaryはサポートされないという情報がAppleからでているので、iPhone 5sで動作させたい場合にはPIE Binary対応が必要です。 Reject with Non-PIE Binary 今年の5月頃からApp Storeで下記のような理由でRejectされるアプリが出てきました。 *1 *2 Non-PIE

    新審査基準、PIE Binary とは - Toyship.org
  • フィードバックしやすい状況を作るHelpshift

    Helpshiftというモバイルアプリ用のサービスが凄い。ユーザのフィードバックを出来る限り欲しいアプリ開発者やスタートアップはぜひオススメ。iOSとAndroidにネイティブSDKで組み込む。 こういうサービスをずっと探してたんだけど、なぜか今までよいのがなかった。やっと出てきて嬉しい。 なぜ欲しかったか 製品開発ではユーザの意見を詳しく聞いたり、ユーザがいかに低コストでフィードバックしやすい状況を作るかが凄く重要。 Webサービスだとユーザがすぐにサービス提供者側とチャットできるoLarkとか、素晴らしいサービスがいっぱいあるんですよ。 ただ、ネイティブアプリには似たようなサービスがなかった。 iPhoneアプリでよくあるのは、アプリ内にフィードバックボタンがあって、それを押すとメールで送信するモーダルが立ち上がるもの。 ただ、メール設定してなかったら動かないし、メール送るのって思った

    フィードバックしやすい状況を作るHelpshift
  • iOS 7 Wireframe Kit

    Born out of my own need for a good way to rapidly wireframe in Illustrator, this kit contains the most common UI elements in iOS 7 Beta 3. If you spot something I missed, fork it or shoot me a note.

    iOS 7 Wireframe Kit
  • InstrumentsのTime Profilerを使って重たいメソッドを特定する | Technology-Gym

    TimeProfilerとはXcodeのInstrumentsに含まれているプロファイリング用のツールです。 Instrumentsユーザガイド XcodeでProfileビルドをすると、Instrumentsが立ち上がって選択できます。 TimeProfilerを立ち上げると、上部トレースデータが表示されていますが、今回の主役は下部にあるCall Treeです。 初期の設定だとシステムのメソッドなども混ざってとてもわかにくいので、上記の設定にチェックを入れておくと 作成したメソッドだけになるので見やすくなると思います。 TimeProfilerの使い方 | eラーニングをすべての人に!blog.eラーニング.co.jp これで、準備は出来たので後はアプリを触っていて重たい感じのするを見ていけば、Call Treeにメソッド毎の処理時間や処理の割合が表示されます。 例として、カレンダー画面

  • UITableViewCell の深度を変更した時に scrollbar を正常に表示する方法

    UITableView をハックして Feedly ライクな UITableView を作ってたのですが scrollViewDidScroll: で UITableViewCell の深度を無理矢理いじったりしたせいで scrollbar が UITableViewCell の後ろに隠れるようになって困ってました。 地味にこういうのは気になって仕方がないたちです。 で、解決方法がわかったのでメモがわりに残しておきます。 UITableViewCell の深度を変更する前に UITableView のプロパティ “showsVerticalScrollIndicator” をオフにして深度変更後に再度オンにすれば scrollbar が表示されるようになります。 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { [self.t

    UITableViewCell の深度を変更した時に scrollbar を正常に表示する方法
    dealforest
    dealforest 2013/07/27
    blogged
  • リアルタイムブラーのライブラリ

    TWRequest を使った検索、リツィートの実装例。Accounts.frameworkを使ったアカウントの取り扱いにも触れている。NSJSONSerialization も使えば標準ライブラリだけでひと通りのことができてしまう。 Twitter.framework Tuto...

  • 【厳選】日本の全iOSプログラマに捧ぐ!iPhoneアプリ制作に参考になりすぎるデザインリンク集15選 | DX.univ

    iOSアプリ開発担当の菅原です。 iPhoneiPadのア[...]【厳選】日の全iOSプログラマに捧ぐ!iPhoneアプリ制作に参考になりすぎるデザインリンク集15選 by Yu Sugawara in Design · Mobile — 2013/07/18 iOSアプリ開発担当の菅原です。 iPhoneiPadのアプリ開発はすべて一人で販売するところまで持っていけるのが魅力の1つです。 アプリ開発作業を大きく分類しますと プログラム デザイン 販売 にわかれます。販売に関してはAppStoreがあるので、心配はありません。残りのプログラムとデザインですが、なかなか両方を得意にするというのが難しいと思います。僕はプログラムは出来るのですがデザインがからっきしダメです。 今日はそういったデザインが苦手なプログラマ向けに参考になるデザインリンク集をご紹介いたします。個人のアプリ開

  • Cocoaの日々: 10分でおぼえるBlocksの書き方

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど Blocksが使えるようになってはや数年。未だに書式が覚えられないわたし(あなた)の為に書き方をまとめてみた。 基型 戻り値 (^名前) (引数)(私が勝手に決めた)基型はこれ。これを覚えないことには始まらない。とにかくこれだけは覚える。 戻り値と引数は一般的なCの関数の書き方と同じなので、名前の書き方だけ (^名前) になったと覚えるのがいい。 (例)BOOL (^completion)(BOOL canceled) = ...;この基型を元に各場面でどう使うかを見ていく。 変数宣言・typedef宣言 変数宣言なら 戻り値 (^名前) (引数) = …;typedef宣言なら typedef 戻り値 (^名前) (引数);両方とも基型がそのまま使える。 (例)type

    Cocoaの日々: 10分でおぼえるBlocksの書き方