タグ

iosに関するjsoizoのブックマーク (29)

  • [イベントレポート] iOS オールスターズ勉強会 #dotsios | DevelopersIO

    iOS オールスターズ勉強会の最速レポート公開! こんにちは、横山です。iOSエンジニアの方であれば、大注目のiOSオールスターズ勉強会の最速?レポートしたいと思います。 我らiPhoneアプリサービス事業部のエース平井も、今回のイベントで「エンジニア戦記 ~ 小さなチーム 大きな未来 ~を発表させていただいたので、是非スライドをご一読いただければと幸いです! 主催協力 今回のイベントは、dots.様、がイベントの企画・運営を主導していただき、加えて維新株式会社様が協賛運営いただき 今回のイベントを開催の運びとなったそうです。当日はdots.の方々に司会進行や受付など、イベント進行全般に関して大変お世話になりました。 �参加者も定員の370人を超えて、キャンセル待ちもでる。注目度の高いイベントになりました。 会場 会場は恵比寿駅から少し歩いた、綺麗なビルの9Fで、エントランスもオシャレでし

    [イベントレポート] iOS オールスターズ勉強会 #dotsios | DevelopersIO
    jsoizo
    jsoizo 2015/02/14
  • [iOS] iOSのDelegateをしっかりと理解する | DevelopersIO

    iOS の通知を知る こんにちは、iPhone アプリ開発担当の荒川です。 この記事では iOS アプリでの「通知」について紹介します。 今回扱う「通知」とは、「プッシュ通知(Push Notification)」や「ローカル通知(Local Notification)」のことではなく、特定のインスタンスから別のインスタンスへ処理を委譲することを指します。 「委譲(いじょう)」と言われると何やら難しいことのように思えますが、あるクラスに書かれた何かの処理を他のクラスで処理する事だと思って下さい。 iOS アプリケーションでは以下の通知方法がよく使われます。 Delegate(処理の委譲) Key Value Observe(キー値監視) Notification Center(情報のブロードキャスト) この中の Delegate について、Objective-C での実装方法を交えて紹介し

    [iOS] iOSのDelegateをしっかりと理解する | DevelopersIO
    jsoizo
    jsoizo 2015/02/08
  • UIWebViewなどで使うクッキーを再起動しても維持する方法 | Technology-Gym

    UIWebViewやASIHTTPRequestではNSHTTPCookieStorageが管理しているクッキーを共有して使うことができる(逆に使わない設定も可能)ので、 起動中はセッションの設定などでクッキーのやり取りを気にしなくてもいいので便利なのですが、さすがに永続化は自動ではやりません そのため、アプリを再起動してもUIWebVIewで表示するサイトのログイン状態を継続したい場合等はNSHTTPCookieStorageからクッキーを取り出して保存して置く必要があります。 NSUserDefaultsを使い単純にファイルとして保存することを考えた場合、クッキーが変化するごとに(iOSだとそもそもキャッチできなさそう)保存するのはI/Oが足を引っ張りそうなので、 起動時と終了時にそれぞれ読み込み、保存処理を行うようにします。 AppDelegateクラスのdelagateメソッドを使

    jsoizo
    jsoizo 2015/01/07
  • プッシュ通知の許可とアプリのレビュー依頼を上手に行う方法 - 小さなごちそう

    スマホアプリにおいて、プッシュ通知は重要な再ログイントリガーだ。 iOSではプッシュ通知を送るために、確認ダイアログを表示してユーザーに明示的に送信を許可してもらう必要がある。ここで「許可しない」を選択されると、アプリから再度プッシュ通知のためのデバイストークンを取得できず、iOSの設定画面を開いて「通知」の設定を変更する必要がある。 Facebookアプリでは、通知不許可を選択したユーザーに下記のようなヘルプ画面を表示して通知設定の変更を促している。 ただ、ヘルプをわかりやすくしても、そもそも手順が面倒なので実際に設定変更をしてくれるユーザーは限られそうだ。なんとか工夫してプッシュ通知を拒否される確率を低くしたい。 下記の記事では、プッシュ通知の許可を上手に求める方法が紹介されている。 The Right Way to Ask Users for iOS Permissions — Me

    プッシュ通知の許可とアプリのレビュー依頼を上手に行う方法 - 小さなごちそう
    jsoizo
    jsoizo 2014/12/23
  • 年末年始に読みたいSwift勉強のためのおすすめ本・書籍やサイトなど(追記あり) - Think Big Act Local

    この記事は Swift Advent Calendar 2014 の22日目の記事です。 21日目は MeguMegu1978 さんの ローカルルールをSwiftで でした。 はじめに Swift が発表されて半年が経ちました。仕事やプライベートの開発で Swift は書いてますが、記法や設計など、もっと良い方法があるのではないか?といつも思っています。 日常ではまとまった時間を確保するのは難しい、まとまった時間のとれる年末年始に Swift 再入門するぞ! そんな思いでSwift勉強のための書籍・サイトをリストアップしてみました。 Apple公式資料 まずは公式の資料です。 iBooks The Swift Programming Language (Swift 5.5) Apple Inc.ProgrammingFree https://itunes.apple.com/us/book

    年末年始に読みたいSwift勉強のためのおすすめ本・書籍やサイトなど(追記あり) - Think Big Act Local
  • iOSのトラッキング実装ベストプラクティスを考える - Qiita

    業務でiOSアプリを作っている場合、ほぼ確実にユーザの行動分析用にトラッキングを入れてるかと思います。よくありそうなのだと、viewDidAppearで画面の閲覧ログを取ったり、ボタンタップ時のIBActionメソッドでタップ数を計測したり。 こういった処理自体はせいぜい一行程度だと思いますが、できればUIライフサイクルのイベントメソッドでは行わず、 アプリケーションロジックとトラッキング処理は分離したい といった気持ちがあります。 また、大抵の場合トラッキングはアプリ内の様々な箇所で行い、その数が膨大になりがちです。アプリの改修を行っていく上で、追加や削除といった事も頻繁に発生するでしょう。なので、 計測する場所やタイミングは一箇所で一元管理できる ことが望ましいです。 ここでは自分が今のところこれが良いかな〜と思っている手法をまとめてみました。 ※トラッキングの送信まわり等、ロギング処

    iOSのトラッキング実装ベストプラクティスを考える - Qiita
    jsoizo
    jsoizo 2014/12/18
  • 【Swift】iOS アプリ開発で使えるオススメのオープンソースライブラリまとめ

    Swift で使えるオープンソースライブラリ 2014年は新言語 Swift が登場し、iOS アプリ開発者にとってはかなり印象深い年になったのではないでしょうか。Swift の登場以後、さまざまな取り組みが iOS アプリ開発者の中で行われ、その結果の1つとしてオープンソースライブラリもかなり増えました。 Swift で一から書かれたものもあれば、既存のものを Swift でも使えるようにアップデートしてくれているものもあります。ある意味、混沌としている現状では「じゃあいまから Swift で iOS アプリ開発するときに何を使えば良いの!?」といったことになりかねません。ということで、現在までに公開されている Swift で使えるオープンソースライブラリを目的別にまとめてみました。 Swift アドベントカレンダーのために書いた記事なので、タイトルには「Swift 時代の」としています

    【Swift】iOS アプリ開発で使えるオススメのオープンソースライブラリまとめ
  • WatchKitアーキテクチャ概論 - cockscomblog?

    来年初めにリリースされるというApple WatchのSDKがプレリリースされた。Appleはこれを WatchKit と呼ぶ。Apple Watchで動作するWatchKitアプリは、いったいどのようなアーキテクチャにより駆動されるのか。この興味深い仕組みについて考察する。 WatchKit - Apple Developer ふたつの予想 Appleがウェアラブルデバイスを開発しているという噂が流れていた頃、そのアプリケーションのアーキテクチャについて異なる二つの予想をしていた。 一つは、ウェアラブル端末体で動作する通常のアプリを作るというパターン。これはAndroid Wearが採用しており、Androidのアプリを作るのとほとんど同じようにウェアラブル端末で動作するアプリを作ることができる。これが採用されると、UIKitの多くのコンポーネントが利用できることになり、柔軟なアプリを

    WatchKitアーキテクチャ概論 - cockscomblog?
    jsoizo
    jsoizo 2014/11/24
  • CocoaPods Private SpecsでiOS用社内ライブラリを管理する - クックパッド開発者ブログ

    技術部のid:gfxです。iOSアプリ開発に欠かせないパッケージ管理ツールといえばCocoaPodsですが、これはPrivate Podsを作って社内ライブラリ専用のSpecs(private Specs)を管理することができます。 ※ 2014/12/22追記 CocoaPods 0.35.0 でpod lintの--only-errorsが廃止されて--allow-warningsになったのでそのように変更しました private SpecsがなくてもGit URLを指定することで社内用podspecを開発・管理することはできますが、private SpecsがあるとURL指定を簡略化したり依存関係の解決が簡単になるというメリットがあります。クックパッドでもすでに十数個のprivate podspecが登録されており、CookpadUIAPI clientなどはpodspecとしてp

    CocoaPods Private SpecsでiOS用社内ライブラリを管理する - クックパッド開発者ブログ
    jsoizo
    jsoizo 2014/11/11
  • The iOS Design Guidelines - Ivo Mynttinen / User Interface Designer

    Updated: 18. October 2020 The iOS Design Guidelines Design great-looking apps for Apple iOS devices. Designing iOS apps can be difficult sometimes, but finding correct and up-to-date information about all of Apples’ devices shouldn’t be. These design guidelines will help any designer who’s building neat things for iOS get started within seconds. About these guidelines These guidelines describe how

    The iOS Design Guidelines - Ivo Mynttinen / User Interface Designer
    jsoizo
    jsoizo 2014/11/11
  • 複数のTarget/Configurationを持つiOSプロジェクトの構成Tips - やらなイカ?

    以前"iOS勉強会議"で少しお話した内容ですが、新しいプロジェクトを整備するタイミングがあったので、ようやくまとめてみました。 例えば、 クイズアプリでコンテンツの異なるものを別アプリとしてビルド、リリースしたい サーバと通信するアプリで、テスト用に接続先を切り替えたい といった要件の実現方法です。 TargetとConfiguration Xcodeのビルド設定には、Target, Configuration, そしてXcode4から加わったSchemeがあります。それぞれ、以下の用途で使い分けるものとします。 Target: 例えばクイズアプリでコンテンツの異なるもの、Lite版など。別アプリとしてリリースするもの。 Configuration: 接続先サーバの違い(開発サーバ/ステージング/番)、デバッグ版/リリース版など。 Scheme: TargetをXcodeで実行するときの

    複数のTarget/Configurationを持つiOSプロジェクトの構成Tips - やらなイカ?
  • [iOS][Mac] Swift を学べる記事のまとめ | DevelopersIO

    Swift を学ぼう 弊社でも iOS エンジニアはもちろん、サーバーサイドのエンジニアAWS エンジニアSwift に興味津々です。Objective-C より読みやすく、モダンな書き方になっている反面、仕様を読み込んでみるとちょっと分かりづらいところもあったりします。 そこで、これまで Web で公開されている Swift について学べる記事を日語の記事を中心にまとめてみました。今後も有益な情報が公開されたらガンガン追記していきます! 公式情報 一番有益な情報は間違いなく公式の情報です。 Xcode 6 から導入されたツール「Playground」で試しながら読んでいくことを想定して書かれているようです。Playground を使って挙動を確認しながら学ぶのが一番良いと思います。 Swift Programming Language | Apple Developer The

    [iOS][Mac] Swift を学べる記事のまとめ | DevelopersIO
    jsoizo
    jsoizo 2014/10/11
  • iOS8のApp Extensionsをつくってみる(Share 実装編) - Qiita

    App Extensions とは App ExtensionsはiOS8から新しく追加されたアプリ連携の仕組みです。 iOS7までは起動中のアプリから別のアプリを立ち上げるには、 URLスキームを使う以外に手段はありませんでした。 iOS8からはApp Extensionsを利用することで、 写真加工やコンテンツのシェアを別アプリに任せたり、アプリ間でのドキュメントの共有、 その他この仕組みを使って通知センターにウィジェットを配置したり、 カスタムキーボードの作成も可能になります。 Share Extension をつくってみる 今回はShare Extensionについて簡単に説明をしていきます。 Share Extensionはコンテンツをシンプルに共有するのに適しているApp Extensionです。 例えば、Safariや写真アプリ等Apple標準アプリにも、 共有ボタンを押すと

    iOS8のApp Extensionsをつくってみる(Share 実装編) - Qiita
    jsoizo
    jsoizo 2014/10/11
  • Objective-CのSingleton、その歴史的経緯など - Toyship.org

    Objective-Cのシングルトンって、昔はcopyWithZoneとかもあって、無駄に面倒だったような記憶があるんだけど、いつの間にか簡単になったんだっけ……?と思ってたので、ちょっと整理してみました。 ARCとGCDが出る前からシングルトンを実装してた人にはちょっと懐かしい話かもしれません。 Singletonとは 改めて説明するまでもないですが、シングルトンとはプロセス内のどこからよんでも同じオブジェクトにアクセスできるようにするデザインパターンです。 どのプログラミング言語においても重要なデザインパターンです。 iOSのシステムフレークワークでもよく使われており、 などはおなじみですよね。 上のメソッドは何回呼んでも同じオブジェクトがかえるようになっているので、いつでも同じオブジェクトに対して処理をすることができます。 自分で実装しなくても、ほとんどの人はシングルトンパターンを使

    Objective-CのSingleton、その歴史的経緯など - Toyship.org
  • NSURLConnectionをサブスレッドで使用する - Toyship.org

    iOS7でNSURLSessionがでて、少し陰の薄くなったNSURLConnectionですが、まだまだネットワーク処理の中心としてよく使われていますよね。 NSURLConnectionの使い方は比較的簡単ですが、サブスレッドからよぶときには少し注意が必要なのでまとめてみました。 サブスレッド上の処理で何を注意すべきなのか まず、最初にサブスレッドでの処理で何を一番注意すべきなのかをおさらいしましょう。 iOSでは、画面描画には主にUIKitフレームワークを使用しますが、このフレームワークはメインスレッド上の使用のみが保証されています。 例えばサブスレッド上で画面に表示した画像(UIImageView)を変更したり、ユーザーにダイアログを表示したり(UIAlertView)などの処理を行った場合、表示が遅れてしまったり、表示されなかったり、最悪の場合にはクラッシュする場合もあります。

    NSURLConnectionをサブスレッドで使用する - Toyship.org
  • Kiwi+CocoaPodsで始めるiOSアプリの振る舞いテスト入門

    Kiwi+CocoaPodsで始めるiOSアプリの振る舞いテスト入門:iOSアプリ開発でもCI/継続的デリバリしようぜ(2)(1/4 ページ) 現代の開発現場において欠かせないCI/継続的デリバリを、iOSアプリ開発に適用するためのツールやノウハウを解説する連載。今回は、iOSアプリの機能の振る舞いをテストするテスティングフレームワークの特長とインストールの仕方、主な使い方を解説します。 前回の「iOSアプリ開発でCI/継続的デリバリ環境を始めるための4種の神器」では、CI/継続的デリバリ環境を構築するために必要なツール・サービスを紹介しました。 今回はiOSアプリのためのテスティングフレームワークの1つである「Kiwi(キウィ)」を使った振る舞いテストの書き方について解説します。 振る舞いをテストするテスティングフレームワーク「Kiwi」とは KiwiはiOSアプリケーションの機能の振る

    Kiwi+CocoaPodsで始めるiOSアプリの振る舞いテスト入門
  • [iOSアプリ開発] いまさら聞けないモダンな書き方 | DevelopersIO

    Xcode 4.4 から Objective-C が書きやすくなりました、という今更のいまさらな話ですが、ネット上に転がっている少し前のサンプルソースなどは古い書き方のものもあるようなので、今回はよく使う NSArray と NSDictionary と NSNumber の書き方についてだけ備忘録として残しておこうと思います。 NSArray インスタンスの生成 // 古い書き方 NSArray *oldArr = [NSArray arrayWithObjects:@"value1", @"value2", @"value3", nil]; NSMutableArray *oldMutableArr = [NSMutableArray arrayWithObjects:@"value4", @"value5", @"value6", nil]; // 新しい書き方 NSArray *n

  • Objective-Cのプロトコルとデリゲートのまとめ - $ cat /var/log/shin

    Objective-Cの@protocol、@required、@optional、そして所謂Protocol-Delegateパターンの基のまとめです。Javaが普通程度に出来る人を対象としてます。(Objective-C歴1週間程度なので要ツッコミ) サンプルコード 百聞は一見にしかず、ということでサンプルコードです。 まずはヘッダex.h。当はクラスごとに分けるべきですが、面倒なので一纏めにしています。 // ex.h #import <Foundation/Foundation.h> @protocol MyProtocol1 @required - (void)foo; @optional - (void)bar; @end @protocol MyProtocol2 - (void)hoge; @optional - (void)piyo; @end @interface

    Objective-Cのプロトコルとデリゲートのまとめ - $ cat /var/log/shin
  • Objective-C ARC下での強参照、弱参照、循環参照について学ぼう - Qiita

    objcにARCが導入されてから久しいですが、開発者がメモリ管理から解放されたかというと、そうでもないです。strongとweakの導入によって、少し抽象化がなされましたが、オブジェクトのallocate/releaseは意識してプログラムする必要があります。この記事は、ARC環境下での強参照/弱参照/循環参照についてイマイチ理解が及ばないという人のための記事であると同時に、私の個人的なまとめでもあります。 循環参照とは? 循環参照という現象は、私も最初はなかなか理解できませんでした。まず、文字的な定義から言うと、循環参照(retain cycle)とは 「オブジェクト同士がお互いに強い参照を持っているからどちらも解放されない」という現象のことです。 iOSにはObjective-C 2.0のランタイムが実装されていますが、ガベージコレクションは存在しません。理由はよく知らないですがシステ

    Objective-C ARC下での強参照、弱参照、循環参照について学ぼう - Qiita
  • iOSシミュレーターで見た、iPhone 6 / iPhone 6 PlusのMedia Queriesに関する値について。 - Toro_Unit

    iOSシミュレーターで見た、iPhone 6 / iPhone 6 PlusのMedia Queriesに関する値について。 Xcode 6.1 betaのiOSシミュレーターにiPhone6とiPhone6 Plusが居たので、早速調べてみました。 viewportにwidth=device-widthを指定したときの値です。 追記:縦向き横向きのサイズも追加しました。

    iOSシミュレーターで見た、iPhone 6 / iPhone 6 PlusのMedia Queriesに関する値について。 - Toro_Unit
    jsoizo
    jsoizo 2014/09/12