タグ

iOSとiosに関するabetomotomoのブックマーク (172)

  • CoreData(マルチスレッドの処理 ) | Professional Programmer

    CoreDataを扱う場合, main-threadのみでNSManagedObejctContextを利用している場合は, Appleのサンプルどおり, AppDelegateでSingleton実装でかまいません。しかし, NSOperationQueueや, dispatch_asyncなどのバックグラウンド処理でこのSingletonを呼び出すと, NSManagedObjectの何かしらの操作で落ちます。 例) [_PFManagedObjectReferenceQueue _processReferenceQueue:] しかも動作がぶつかったときだけ落ちるというなんとも見つけにくいものです。 下のReference通り, NSManagedObjectContextを新たに用意して, NSPersistentStoreCoordinatorはsingletonの分と共有します

  • プロパティとインスタンス変数(ivar) — ios-practice 0.1 documentation

    getter/setter, init, dealloc 以外でivarにアクセスしない¶ インスタンス変数にアクセスする時は、基的にgetter/setter(アクセッサメソッド、プロパティ)を経由してアクセスすべきです。 インスタンス変数を直接使わない理由としては、 インスタンス変数を直接使う場合は不必要なretain等、参照カウントを操作するコードが必要になり見通しが悪くなる事や、 KVO(Key-Value Observing)が使えない事や、アクセッサメソッドを経由しないため変更に弱い部分があることなどがあげられます。 以下の条件を満たしているならインスタンス変数を直接使っても問題は無いですが、統一性という観点から インスタンス変数を直接参照するのは -init と -dealloc 以外では避けるべきです: 1.Is declared in a class using ARC

    abetomotomo
    abetomotomo 2013/12/06
    プロパティ、インスタンス変数の持ち方。隠蔽の仕方
  • [Xcode 5] Test Navigator と XCTestを使ってみる | DevelopersIO

    はじめに Xcode 5 で XCTest という新しいテストフレームワークが投入されました。OCUnitを使ったプロジェクトからのコンバートもできるので、それを置き換えるものと考えて良さそうです。また Test Navigator という新しいナビゲータが導入され、テストターゲットとの親和性が高くなっているようです。さらにコマンドラインからのテスト実行もサポートされました。 導入 何も考えなくてもプロジェクトを作成すると勝手にTestターゲットが作成されます。素敵です。 メニューからProduct -> Test 又は Command + U でテストが実行されます。Testクラス新規作成時はXCFailが1つ設定されているので必ずテストが失敗します。この辺はOCUnitと変わりません。 Test Navigator で動作させる ナビゲータから↓のアイコンを選択します。 最後に実行した

    [Xcode 5] Test Navigator と XCTestを使ってみる | DevelopersIO
    abetomotomo
    abetomotomo 2013/12/05
    テストケース
  • JSONとオブジェクトを相互変換 | iPhoneアプリ練習帳

    iOS5以降では、NSJSONSerializationというオブジェクトが実装されており、これを使うとJSON文字列と、Objective-Cのオブジェクトを容易に相互変換できる。NSJSONSerializationに渡すのはNSStringでなくNSDataである点にだけ気をつければ非常に簡単に利用できる。※iOS4.3以前ではNSJSONSerializationは利用できないのでご注意下さい //文字列をObjective-Cのオブジェクトに変換 NSError* error; NSDictionary* json = [NSJSONSerialization JSONObjectWithData: [@"[1,2,3,["foo","bar"]]" dataUsingEncoding:NSUTF8StringEncoding] options:kNilOptions error

    abetomotomo
    abetomotomo 2013/12/05
    JSON
  • アプリ開発記 Objective-Cのアクセッサ(getter setter)について

    Objective-CのアクセッサをJavaで記述すると以下のような形になります 【コード】 Objective-C 01: @interface Person : NSObject 02: 03: @property NSString *firstName; 04: @property NSString *lastName; 05: 06: @end Java 01: public class Person extends NSObject { 02: 03:   private String firstName; 04:   private String lastName; 05: 06:   public String lastName() { 07:     return lastName; 08:   } 09: 10:   public void setLastName(Str

    abetomotomo
    abetomotomo 2013/12/03
    getter/setter のめも
  • iOS7/Xcode5時代のUIWebViewと正しく付き合う

    みんな大好きUIWebView、iOS7/Xcode5な現在も相変わらずのツンデレ具合で僕はお腹いっぱいです。 解禁されたことですし、未だに残っている注意することを(どう考えてもバグな挙動も)見つけているので、さらっと解決方も含めてメモメモ。 1. webView.scrollView.scrollIndicatorInsetsがぶっ壊れる。 これはどう考えてもバグです。 INPUTタグ等にフォーカスを合わせ、キーボードを出現させると、 scrollIndicatorInsets(スクロールバーの位置)がぶっ壊れます。 純正のUIWebViewをUIViewControllerのviewにセットしただけで壊れるので、バグで間違いないでしょう。 ぶっ壊れたスクロールバー しかし、ページのどまんなかにスクロールバーが出現するのは非常にUXが悪いです。 ポイントは、キーボード出現時に壊れるという

    iOS7/Xcode5時代のUIWebViewと正しく付き合う
  • Yohei Yoshihara's Home Page

    MySimplePlan More Detail Magquash More Detail Previous Next

    abetomotomo
    abetomotomo 2013/11/29
    ARC
  • iOS7ステータスバー対策まとめ - Qiita

    iOS7ではスタースバーは透明、ナビゲーションバー、タブバー、ツールバー、検索バー、スコープバーは半透明。一般的なルールとしてコンテンツの上にこれらのバーを被せることを想定しスタースバーの下に何もバーがないならコンテンツはフルスクリーンコンテンツにすべき。とある。 iOS7 フレームワーク判定 iOS 7 UI Transition Guideにはこんなやり方が書いてある。場合によってはバージョンよりもNSFoundationVersionNumberを使うほうが意図が明確になる。 if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { // Load resources for iOS 6.1 or earlier } else { // Load resources for iOS 7 o

    iOS7ステータスバー対策まとめ - Qiita
    abetomotomo
    abetomotomo 2013/11/28
    ステータスバー
  • iOS7でステータスバーが被る問題への対応 - Kazzzの日記

    先日のエントリでも書いたが、iOS6→iOS7への移行で最も酷いなと感じたのはステータスバーの問題である。 ステータスバーのレイヤの違いと画面に与える影響 iOS7においてはステータスバーはコンテンツとは完全に独立したレイヤとして扱うことになったようで、基的に透過レイヤであり座標系もビューのルートと共有していない。つまりはiOS6までのアプリケーションをiOS7上で動かすとこのようにステータスバーがビューに覆い被さるように描画されてしまう。 この問題はステータスバーを表示している、つまりフルスクリーンを使う画面以外全ての画面が影響を受けてしまう凶悪なものだ。 ステータスバーをiOS6同様に非透過レイヤとすることで回避できそうなものだが、iO7ではステータスバーを非透過にする事は(今のところ)方法は無いので、これに合わせるしかない。ということは...iOS6まででステータスバーを透過にデザ

    iOS7でステータスバーが被る問題への対応 - Kazzzの日記
    abetomotomo
    abetomotomo 2013/11/28
    ステータスバー透過
  • iOS7対応まとめ - AMsoft space2 - iPhone/Android 開発メモ ときどき写真とか

    iOS6向けアプリをiOS7に対応するためのチェックリストをざっくりまとめます。 内容任意/必須 アプリアイコン 120x120追加。※丸みが増している任意? ステータスバー透過対応 ステータスバーが透過レイヤーとなり、アプリのウィンドウに重なって表示されてしまう。 iOS7ではウィンドウを下げる、等の対応が必要 iOS7でステータスバーが被る問題への対応Add Starhodade iOS7ステータスバー対策まとめ ※全画面まとめて対応する場合 plistに下記を追記 UIViewControllerBasedStatusBarAppearance AppDelegateでステータスバー分だけwindowを小さく - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictio

    abetomotomo
    abetomotomo 2013/11/28
    ステータスバー
  • [XCODE] UIWebViewでJS -> Native、Native -> JS連携を行う方法 - YoheiM .NET

    こんにちは、@yoheiMuneです。 今日はiPhoneアプリでWebViewベース開発する際のTipsの1つ、JS・Nativeのそれぞれの機能を呼び出す方法をブログに書きたいと思います。 UIWebViewでJSとNative連携をするとは 最近のiPhoneアプリでは、UIWebViewベースで多くのコンテンツはHTML,JS,CSSで実装することもあるかと思います。 多くの機能はJavaScriptで実現しますが、時々Native機能(ダイアログなど)を使いたい場合があります。 また、Native上のボタンを押した際にJavaScriptの機能を呼び出したい場合があります。 そんな要望を実現する機能が、JS・Native連携です。 以下では具体的な実装内容を記載します。 JavaScriptから、iPhoneアプリのNative機能を呼び出す JavaScriptからNative

    [XCODE] UIWebViewでJS -> Native、Native -> JS連携を行う方法 - YoheiM .NET
    abetomotomo
    abetomotomo 2013/11/28
    Webviewネイティブアプリ連携
  • iOSでUIWebViewからアプリへ文字列を渡す方法とアプリからUIWebViewへ文字列を渡す方法 - 酢ろぐ!

    記事は「UIWebViewからアプリへ文字列を渡す方法とアプリからUIWebViewへ文字列を渡す方法 - iOSアプリ開発の逆引き辞典」に転記しました。 以前、Windows PhoneのWebBroswerコントロールで表示させたHTMLとアプリケーションとの連携にさせる方法をご紹介させて頂きました。 JavaScriptを使ってWebBrowserコントロールを制御する - 酢ろぐ! WebBrowserコントロールで表示しているコンテンツからJavaScriptを使ってアプリへ文字列を渡す - 酢ろぐ! 今回は、これらの方法をiOSで実現させる必要が出てきました。実現したい事としては、HTML(UIWebView)からアプリケーションへ通知をおこない、それに応じてアプリケーションからHTML(UIWebView)のfunctionを実行させたいと考えています。 アプリケーションか

    iOSでUIWebViewからアプリへ文字列を渡す方法とアプリからUIWebViewへ文字列を渡す方法 - 酢ろぐ!
    abetomotomo
    abetomotomo 2013/11/28
    Webviewネイティブアプリ連携
  • iOSのUIWebViewで通信エラー | HANGOUT - ハングアウトエンジニアブログ

    iOS7を試したくて借りたiPhone端末を危うく文鎮化しそうになったしょうたんです、こんばんは。 何とか文鎮はまぬがれましたが、この件はとても思い出深いのでまた別の機会に投稿したいと思います^^; えー今回はiOSのUIWebViewで通信エラー制御です。 まず、didFailLoadWithErrorにエラーコードによる制御を入れます。 エラーコード-999 (定数では NSURLErrorCancelled) は先行するリクエストが キャンセルされたエラーで、後追いのリクエストが問題なく捌いてくれている状況でも頻発します。 その為、-999はエラー処理から除外します。 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { if ([error code] != NSURLErrorCa

    abetomotomo
    abetomotomo 2013/11/25
    iOSのUIWebViewで通信エラー
  • http://asklife.info/archives/2368

    http://asklife.info/archives/2368
  • 会社でiOSアプリを扱うときのアカウント管理はこうするべきだった? | TOKOROM BLOG

    2013年11月18日 追記 この記事を書いた後、何人かのかたから「うちでは同じApple IDで両方とも使えているよ」というご指摘をいただき、 Member Centerのほうにアカウント追加 -> iTunes Connectに同じアカウント追加という順番だと「警告は出るもののかまわずContinueすれば」同じApple IDでアカウント作成可能 iTunes Connectにアカウント追加 -> Member Centerに同じ追加という順番だと「複雑な手順にはなるものの適切な手順を通せば」同じApple IDでアカウント作成可能 失礼しました。 追加情報などあれば是非おねがいします! 概要 私はiOSアプリの開発を3年以上やっていますが、恥ずかしながら会社でこのためのアカウントを管理/運用する方法をきちんと把握できていませんでした。 というのも個人で開発するぶんにはそんな管理は必

    会社でiOSアプリを扱うときのアカウント管理はこうするべきだった? | TOKOROM BLOG
  • Storyboardで画面遷移を作る (iOS)

    Xcode4.2からStoryboadというものが使えるようになりました。いままで画面ごとにnibファイルを作ってプログラムで画面遷移することができましたが、Storyboardを使えば各画面の関係を1画面で見渡すことができます。また、単純な画面遷移ならプログラムを一切書かずに作ることができます。 最も簡単な画面遷移 ボタンを押したら次の画面に移動するだけの簡単な画面遷移を作ってみます。 まずはプロジェクトの作成から。 File –> New –> New Project でSingle View Applicationを選択します。 新規プロジェクトプロジェクト名などを入力する画面で「Use Storyboard」のチェックを入れて、プロジェクトを作成します。 次に、Navigation Controllerを追加します。 Navigation Controllerをドラッグしてキャン

    Storyboardで画面遷移を作る (iOS)
    abetomotomo
    abetomotomo 2013/05/31
    Storyboard
  • Objective-C のコードレビューチェックリスト - Qiita

    はじめに 稿は Juri Pakaste 氏による Cocoa review checklist (commit fff5703)の翻訳です。他人の Objective-C のコードをレビューするとき注意する点、また普段のコーディングで心がけるべき点についてまとめられています。 なお、原文のタイトルは Cocoa review checklist となっていますが、内容が Cocoa に限らない範囲のトピックをカバーしているため、稿のタイトルは「Objective-C の〜」としました。 誤訳の指摘や例の補足を歓迎します。 コードの見た目とコード以外の問題 不要な #import や @class 宣言を消す #import をソートする .m ファイルの中では、対応する .h ファイルの #import を最初の行に書く。空行をはさんで、ソートされた他の #import を書く。 X

    Objective-C のコードレビューチェックリスト - Qiita
  • forodin.com - このウェブサイトは販売用です! - プログラミング 方法 インストール インストールした フォント 削除 単位 リソースおよび情報

  • [書評]iOSオープンソースライブラリ徹底活用 - 拡張現実ライフ

    記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。 iOSアプリをある程度作れるようになった開発者。 iOSアプリ向けのオープンソースライブラリにどのようなものがあるか知りたい開発者。 概要 iOS向けのオープンソースライブラリが網羅された解説書です。 自ら実装すると数ヶ月かかってしまうようなコードが、オープンソースライブラリとして無償で提供されています。 しかし、それぞれのライブラリについて個別に紹介しているブログ記事などはネットでちらほら見かけますが、日語でまとめて解説しているような情報源はなかなかありません。 書では、画面遷移系・ネットワーク系・マップ系などのライブラリが、ジャンル別にわかりやすく解説されています。 また、サンプルプログラムもダウンロード可能となっています。 どのようなライブラリが掲載されて

  • iOSアプリ開発者が知らないと損するライブラリ7選 - Paradigm Shift Design

    こういうキャッチーな*1タイトル付けてみたかった! tottepostの開発中に役に立ったライブラリを7つ列挙します。 かなりジャンルバラバラですが紹介&メモって事で許してください。全部tottepostで使ってます。 1, SVProgressHUD UIActivityIndicatorViewって出したり消したりするのにインスタンスの管理が面倒で、見た目も微妙ですよね。 SVProgressHUD*2は、扱いが簡単でカッコいいUIActivityIndicatorViewです。 http://f.cl.ly/items/231Y2A0t0t1J0B0r3N0p/svprogresshud3.png:image:w600 リポジトリは、samvermette/SVProgressHUD · GitHub。ライセンスはMIT。 作者のSamさんの記事はSVProgressHUD。 2,

    iOSアプリ開発者が知らないと損するライブラリ7選 - Paradigm Shift Design