4. マルチタスク関連のAPI ^{ Background Task Completion Background Audio Location Services VoIP NewsstandTime Background Fetch Silent Push Notification Background Transfer NEW!!
京都に本社を置きWebサービス事業を展開する会社で、WebサービスやiOSアプリを作ったりしている。会社にはたくさんの技術書があるが、iOSアプリ開発関連の書籍がすこし足りないと感じていた。しかしながら読んでみたい本があったら自分で買ってしまうから、別に不自由すると言うこともなかった。というつもりだったのだけど、ちょっと気が変わって、会社にいい本が置いていないことは技術を重視するという社風から考えても好ましくない、という気になった。そこで上司に相談したところ、本はいくらでも買おう、ということだったので、買ってもらうことにした。 新しく買ってもらったものに加えて以前から会社にあったものも少し含むけれど、いま会社にあるいい本を以下に紹介します。 Objective-C 詳解 Objective-C 2.0 第3版 作者: 荻原剛志出版社/メーカー: ソフトバンククリエイティブ発売日: 2011
いくつかソースを見てきたのですが、 時と場合による としか言いようがない感がすごいですね。 ただ、当たり前ですが、 基本的にはMVCに則って作っていくのが良いです。 そして、Modelをちゃんと切り分けるというのが、テストをする上で非常に大事になってくるかと思います(一番テストしやすく、一番テストするべき)。結局テストを書かないにしても、テストしやすいコードは正義です。 さて、どうやって切り分けるかですが、ここが難しいです。 M,V,CとおまけのDelegateを、他の設計やソースを引き合いに出しながら、印象などを語っていきます。 Model Modelに関してですが、 Modelに通信機能を持たせる 通信を管理するClientが存在する という、2つのやり方がありそうです。 前者はBackbone.jsであったり(ModelやCollectionがfetchする)、Railsであったり(
Test, Objective-C, iPad, iPhone(iOSのテストを書くとViewControllerがコントローラーになれる話 - yaakaito::Blog を先に見ておくと、何がやりたいか分かり易いかもしれません。)iOSアプリケーションのテストの書き方、難しいですよね。僕もよく分からないので手探り状態です。とりあえず、標準のOCUnit使ってTDDっぽいことしてみれば、何か叩き台になるかな?と思ったのでその過程を公開してみます。書くテストロジックテストだけです。後々アプリケーションテストもやる予定なのですが、というか一緒にやってたんですが、重すぎたので一旦ロジックテストだけです。ロジックテスト主体で書けるようにできる限りViewContollerと切り離してコードを考えています。ツッコミ大歓迎!(ロジックテストだけやるので、ビューに表示するところまで書いてません)リク
私は色んなプログラミング言語を触るのが病的*1に好きで、どの言語をどういう場面で使うのが良いのか凄く興味があります。 そこで、今の私の知識範囲でのそれぞれのプログラミング言語の使いどころを(自分用の整理もかねて)書いてみます。 C/C++ - C=OSやミドルウェア、C++=効率化のための再実装 安直に「メモリとスピードが第一優先のとき」と思いたいところですが、同等程度のスピードでもっといい言語はいっぱいあります。計算集約的ならJuliaとか、オブジェクト指向で組むようなソフトならD言語とか。なのでまずC言語は、Swigみたいのを使って他の言語の拡張ライブラリを書いたり、システムコールを使ってOSやミドルウェアを書くときじゃないかと思います。C++はテンプレートを駆使したりして効率を維持しながら抽象度の高いコーディングをするような場面がしっくり来ると思います。既に他の言語で実装したソフトウ
第5回となるクックパッドさんの #potatotips に参加させて頂きました。 https://github.com/potatotips/potatotips/wiki/Potatotips-5 potatotipsは発表者だけが参加できる、持ち時間1人5分のtips共有会です。 5回目となる今回は参加枠が増えていつも以上に濃い2時間となりました。 そんな第5回で発表された12個のiOSのtipsをまとめます! iOS tips Wantedlyのアニメーションの事例 @kubonagareiさん WantedlyのiOSアプリでアニメーションをどう使っているかの話 情報を大きく、注目させたい箇所に 直前の状態を認識させる 遊び心 / 触り心地をあげたい場所に(ローディングアイコンなど) 多段delegateをResponder Chainで取り除く方法 hosokawa-sanさん
Objective-Cのメモリ管理おさらいと解放tips こんにちは。 iOS/Objective-Cによるアプリ開発では参照カウントによるメモリ管理が必要になります。 今回はiOS/Objective-Cでのメモリ管理の基礎からメモリリークの検知まで解説したいと思います。 参照カウント Objective-Cの全てのオブジェクトはNSObjectを継承しています。 全てのオブジェクトはこのNSObjectのメソッドを通じて参照カウントを扱います。 この参照カウントが、オブジェクトがいくつのオブジェクトから強参照されているかを表し、 0になったオブジェクトは誰からも参照されていないため解放される、という仕組みになっています。 C++に詳しい方はshared_ptrをイメージすると良いでしょう。 より詳細な解説はWikipediaなどが参考になります。 Objective-Cの参照カウント
iAd on iOS 7 iOS 6 までは iAd を表示しようとすると、ADBannerView をインスタンス化して layout してなど色々と面倒でした。 iOS 7 では iAd.framework に以下のカテゴリが追加されています。 UIViewController (iAdAdditions) これを用いる事で、今までのような煩わしいことをほとんど気にせずに iAd を表示する事が出来る様になります。 ユースケース毎に見ていきましょう。 バナー広告を表示したい 以下のプロパティをセットするだけ。 ///(1)フレームワークをimport @import iAd; ///(2)初期化時などに self.canDisplayBannerAds = YES; これだけでバナーが画面下に表示されます。 Interstitial 広告を表示したい 事前準備として以下を実行すると I
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 先日、「ヤフーvsクラスメソッド iOS 炎の7番勝負」という勉強会を開催しました。 http://connpass.com/event/5159/ おそらく業界初となる対決形式の勉強会で、7つのテーマで各5分のLTを行いました。 1人5分の持ち時間では説明しきれない部分もありましたので、 補足スライドも含めてヤフー側全セッションの発表資料をすべて公開します! ▼発表を見逃した方はUstアーカイブをぜひご覧ください! Ustream前編://www.ustream.tv/recorded/44215492 Ustream中編://www.ustream.tv/recorded/44217060 Ustream後編://www.us
iOSへプッシュ通知の情報は認証鍵を作ったり、鯖側の処理だったりが多いのでiPhoneに通知が送られてきた後の処理についてかこうかと思います。 認証鍵の開発環境、本番環境もDeveloperCenterのUI変更等でちょっとわかりづらい部分が増えてきたんで時間があればそっちも後日まとめます。 ひとまず、認証鍵の作成等はこちらのブログを参考にしてください。 phpでiphoneのpush通知&APNS鍵作成 Push Notificationの実装方法 今回はデバイストークンの取得が終了し、サーバからのPush通知が送られてきている前提で話を進めます。 やりたい事はプッシュ通知からアプリに入った場合 ・ロック画面でのプッシュ通知スライドによるアプリの起動後の処理 ・起動中プッシュ通知タップでのアプリ起動後の処理 等のSNSアプリでよくある、プッシュ起動後の画面遷移とかホップアップ表示の方法で
画像を表示しようとしたら遅いよ! 外部データを取ってきて表示するときにまずはまるのが画像の処理だと思います。非同期で必ず処理しましょう。 画像の非同期ロードはライブラリを使った方が早いと思います。 ヘッダーやフッタをつけたいよ! tableView.tableHeaderView tableView.tableFooterView に突っ込む方法を書いてあるのが多いんですが、今回はもっと簡単な方法としてStoryboardなどでこれらのビューを直接突っ込んで管理できるのでおすすめ。 テーブルビューの上や下にUIViewをドラッグすると UIViewをIB上で直接追加できます。 後はIBでレイアウトをくめばok 使用するクラス、フレームワーク、ライブラリ ビュー UITableViewController https://developer.apple.com/library/ios/doc
これからiOSアプリ開発をやりたい!という人へ 自分が実際にiOSアプリ開発をやって、便利だったと思う情報を残しておきます。 これからアプリ開発やりたいという人の参考になれば。 iOSアプリ開発の第一歩 まずは間違いなくMacを買うこと。 Macを書いましょう。Windowsじゃ開発できません。 MacじゃないとiOSアプリの開発はできないので、 これがないとお話になりません。。。 インストールしておくもの 基本的にXcodeさえインストールしておけばアプリの開発はできます。 Mac App Storeからダウンロードできます。 実機インストールやApp Storeに公開したい場合は、 iOS Developer Programを購入する必要があります。 まずはこれを読むべき Appleのドキュメント集(日本語訳Version) https://developer.apple.com/jp
このまえ新しいアプリを作って公開して、そのアプリはライブラリ結構使おーと思って開発したので、使わせてもらったものをまとめました。ライセンスは全部MITとかApacheとかです。 ちなみに Popin というアプリです。Twitterのリンクだけを手軽に見るためのアプリです。超便利です!! PBTweenAnimation アニメーションが簡単に実装できるライブラリです。 UIAlertViewが表示される時のバウンス(iOS6以前)とか、拡大・縮小・回転とかその手のアニメーションが超お手軽に実装できます。たとえばPopinでタイムラインのセルを右から左にスワイプすると拡大のバウンスアニメーションしながらボタンが出ますが、そのアニメーション用のコードは以下です。 CFTimeInterval duration = 0.75f; CAAnimation *appearAnimation = P
Conference With Developers 2 | Peatix 自分はiOSデベロッパーとして大した経験や実績があるわけではないのですが、 公開しているライブラリの数はかなり多い方のなので、そこで得られた知識を話そうと思いました。 トーク中は聴いている人のリアクションを気にする余裕もなかったのですが、 あとからTwitterのタイムラインを読んでみると、良い反応をしてくれている方もいたようで嬉しかったです。 今回の発表ではどのトピックも詳細に立ち入ることが難しかったので、いつか文章でしっかりとまとめられるといいなと思いました。 トークの準備 大勢の前で45分も話し続けるのは初めてだったので、どうやって準備したらいいものか悩みました。 スライドをつくりながらトークの内容を練るのは難しそうだったので、はじめはmarkdownで適当な文章を書いて、 そこからの大事な単語や文を拾ってき
タイトルがすべてなのですが、Apple公式の膨大な量のドキュメントが、iOSプログラミングを勉強するのにとても参考になります。 今は公式の日本語訳ドキュメントが結構な量になっているので便利です。 日本語ドキュメント – Apple Developer やはり書いてある内容に間違いはないですし、サンプルコードも添えて説明をしているので、とてもわかりやすいです。 PDFなので保存して、お気に入りのPDFビューワーで読めば良いのではないかと思います。 ピックアップすると iOSアプリケーション プログラミングガイド iOSプログラミングの基本用語などの説明 Objective-Cプログラミングの概念 Objective-C言語の説明 iCloud設計ガイド iCloudを利用する際の考え方、サンプル。iCloudはiOS固有の機能なので、しっかり理解しておきましょう。 などなど。 数年前に比べて
前回同様、今回もUITextViewをUITextFieldの角丸と同じような見た目に変更してみる。 今回は、ココを参考にUITextViewのdrawRectメソッドをオーバーライドして自分で絵を描いてみる。 #1:まずは角丸矩形のパスを作成するメソッドを用意しておいて… - (void)addRoundRectPath:(CGContextRef)context rect:(CGRect)rect radius:(CGFloat)radius { CGFloat minX = CGRectGetMinX(rect); CGFloat midX = CGRectGetMidX(rect); CGFloat maxX = CGRectGetMaxX(rect); CGFloat minY = CGRectGetMinY(rect); CGFloat midY = CGRectGetMidY
1: 以下、名無しにかわりましてVIPがお送りします 2013/12/25 00:33:01 ID:ihjtTlZX0 こんばんは 今日もiOSプログラミング講座やっていきます 今日のテーマは「デリゲート」です 2: 以下、名無しにかわりましてVIPがお送りします 2013/12/25 00:33:44 ID:5dGPrSGi0 デリィィィィィィィィト!!! 3: 以下、名無しにかわりましてVIPがお送りします 2013/12/25 00:34:25 ID:ihjtTlZX0 delegateとは「委任する」という意味です プログラミングの世界ではあるクラスの処理を別のクラスに任せるといった感じです 例えば僕たち「国民」クラスは「政治家」クラスに「政治」の処理を委任していますよね 72: 以下、名無しにかわりましてVIPがお送りします 2013/12/25 01:27:01 ID:+35Z
iOS 7から、画面遷移のアニメーションをカスタマイズできるようになりました。実装はシンプルで本当に簡単です。しかし、やたらと長い(しかもイマイチ統一感のない)プロトコルをたくさん使わなくてはならないため、何となく二の足を踏んでいる方も多いのではないでしょうか。 今回は、画面遷移のカスタマイズの基本中の基本を紹介します。 関連プロトコル 画面遷移の実装には多くのプロトコルを使用します。その中で、最低限必要となるのは以下の3つです。 UIViewControllerAnimatedTransitioning(アニメーションコントローラ) UIViewControllerContextTransitioning(画面遷移コンテキスト) UIViewControllerTransitioningDelegate (画面遷移デリゲート※) (※)モーダルビュー表示の場合。ナビゲーションコントローラ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く