タグ

objective-cに関するkasahiのブックマーク (159)

  • iOS 8のPhotoKitの概要&Xcode 6.1/Storyboard/Auto Layout/iOSシミュレーターの基本的な使い方

    連載目次 前回の記事「開発者が知っておきたいiOS 8の新機能&Xcode 6のインストールと基的な使い方」では、iOS 8を簡単に紹介し、iOSアプリ開発を始めるための環境構築について説明しました。今回から、iOS 8の新機能を使ったアプリの開発を進めていきます。 前回、連載で開発していくアプリに盛り込むものとして以下の項目を挙げました。 Xcode 6のセットアップ・使い方・機能を解説 Swiftを使用 iOS 8で追加された新機能を使用 iPhone 4s/5s/6/6 Plusの画面サイズに対応 「iOS 8で追加された新機能」についてですが、連載では「PhotoKit」の機能を使用したアプリを開発します。「PhotoKit」は、iOS標準の「写真」アプリで使用されているAPIが解放されたもので、「写真」アプリ並みの機能を持ったアプリを開発できます。 iOS 8のPhotoK

    iOS 8のPhotoKitの概要&Xcode 6.1/Storyboard/Auto Layout/iOSシミュレーターの基本的な使い方
  • SwiftとObjective-Cのコードを1つのプロジェクトでつかう - クックパッド開発者ブログ

    こんにちは。モバイルファースト室の中村(@_nkmrh)です。 仕事Swiftを使うことはまだないのでSwiftについて色々気になっている今日この頃です。 今回はSwiftとObjective-C(以下、Obj-C)を1つのプロジェクト内でつかう方法と、両者の相違点について気になった点を紹介したいと思います。 Swift -> Obj-C まず、SwiftからObj-Cを使う方法です。 SwiftからObj-Cを使うには、[product module name]-Bridging-Header.hを作成します。 ※ [ProductModuleName]は通常ProductNameと同じです。ProductNameにアルファベット以外の文字を使っている場合、その文字は( _ )(アンダースコア)に置換されます。 Xcodeのメニュー"File > New > File > (iOS o

    SwiftとObjective-Cのコードを1つのプロジェクトでつかう - クックパッド開発者ブログ
  • Carthage: Swift対応の新しいライブラリ管理

    Nov 20, 2014 iOS, OSXで利用できるライブラリ管理ツールといえばCocoaPodsが有名ですが、 それとはまた違った方針のCarthageというライブラリ管理ツールがリリースされました。 GitHubのデベロッパーを中心としたチームで開発が進められているようです。 https://github.com/Carthage/Carthage インストール方法 Releasesからpkgをダウンロードして、インストーラーを実行します。 使い方 Cartfileを書く carthage updateを実行する Carthage.buildに作成された.frameworkをXcodeに追加する Cartfileではgithub, gitの2種類のキーワードが利用でき、以下のように書きます。 サポート対象 Carthageはdynamic frameworkのみをサポートするため、C

    Carthage: Swift対応の新しいライブラリ管理
  • SlackTextViewControllerを読んだ - AnyType

    UI周りの理解を深めるため、Slackが公開しているhttps://github.com/slackhq/SlackTextViewControllerを読む。コミット番号は9fcf06ac6f7004e4aacb6536b375d1cb03f08289だ。 全部はさすがに読みきれないので、以下の気になるポイントに集中してコードを読んでいくことにする。 キーボードの表示/非表示に伴うレイアウトの調整。何も工夫しないとキーボードでViewが隠れてしまうはずだ。 ユーザー名や絵文字の補完 TL;DR キーボードの表示/非表示の際に送信される通知UIKeyboardWillShowNotification等を使ってレイアウトを調整している。レイアウトはすべてAuto Layout上の制約をプログラムで制御することで調整している。例えば、キーボードの高さに併せてスクロールビューの高さを大きくしたり

    SlackTextViewControllerを読んだ - AnyType
  • iOSで使えるライブラリなリポジトリまとめ

    iOSLib.md iOS開発で気になるライブラリ まとめ https://gist.github.com/PGMY/4991912 ⇒Gistに貯めていってたのをもってきました。 http://qiita.com/PGMY/items/2a9d1f6355693b6e9712 ⇒Qiita編 自分用めも。気になるもの・使ってみたいものと、実際利用して比較してみたいなーと思ってるチェックリスト的な for ios dev TODO : もうちょっと見やすく整理したい Library Coding REKit⇒公式ブログ iOS, OS X の開発で使える NSObject の拡張コレクション ・REResponder: Block を使ったインスタンスの動的メソッド実装/上書き機能 ・REObserver: Block を使って KVO (Key-Value Observing) を実現す

    iOSで使えるライブラリなリポジトリまとめ
  • よく分かる!iOS アプリのリリース手順のまとめ | DevelopersIO

    2014/04/16 コンプライアンスの「Content Rights」と「Advertising Identifier」についての解説を追加しました。 はじめに iOS 7 がリリースされ、さまざまな新しい機能が使えるようになりました。iOS 7 SDK を使ったアプリをリリースしたい!と思っているかたも多いのではないでしょうか。しかし iOS アプリのリリース作業は手順が複雑そうで取っ付きづらい印象を持たれているかたが多いと思います。筆者もそうでした。 ということで、最新 (2013年10月21日現在) の iOS アプリのリリース手順についてできる限り分かりやすくまとめてみました。リリース時の参考にしていただければと思います。 概要 まずはじめに全体像を確認しておきましょう。iOS アプリのリリースは下図のようなフローで行います。 リリース用の Provisioning Profil

    よく分かる!iOS アプリのリリース手順のまとめ | DevelopersIO
  • 昔作ったiPadアプリをSwiftでiOS 8なユニバーサルアプリに作り直した - tobioka.net - You Ain't Gonna Need It

    約4年前、Objective-Cの修行のためにオープンソースなテキストエディタアプリ「Edhita」を作りました。(どうせ練習用だし…と適当に名前を付けたことを非常に後悔しています。) 今までほぼ放置しても何とか使える状態でしたが、iOS 8になり、ついに動かなくなってしまいました。 というわけで、今度はSwiftの修行のために、iOS 8用に作りなおしてリリースしました。 ついでに、 Markdownのプレビュー機能 エディタとブラウザのデュアル表示 全画面表示(横画面の時にTableViewを非表示にする。バグあると思う) を追加しました。 無料ですのでよろしければどうぞ。 App Storeで表示 また、引き続きオープンソースですので中身に興味のある方はどうぞ。 お役に立ちましたら、スターよろしくお願いします★ tnantoka/edhita やったこと 古いアプリをなんとか動くよう

    昔作ったiPadアプリをSwiftでiOS 8なユニバーサルアプリに作り直した - tobioka.net - You Ain't Gonna Need It
  • 【UIScrollView × Autolayout 問題】Appleエンジニア直伝のファイナルアンサー - その後のその後

    iPhone6,6Plus サポートとか LaunchScreen.xib とか Size Class とか考えると、もはや Autolayout は必須な感じになってきてます。 http://d.hatena.ne.jp/shu223/20141002/1412209257 で、Autolayout ✕ UIScrollView の例の問題(UIScrollView のサイズを superview との制約で動的に変えるときにその中身も動的に変えたい、ってやつ。こんな雑な説明でもハマったことある人にはわかっていただけるかと・・・)、Apple 公式でこんなドキュメントが出てますが、 Technical Note TN2154: UIScrollView And Autolayout "Mixed Approach" とかなんか筋が悪い感じだし、"Pure Auto Layout Appr

    【UIScrollView × Autolayout 問題】Appleエンジニア直伝のファイナルアンサー - その後のその後
  • [Swift] 自分のアプリをObjCからSwiftに移植して分かったこと - Qiita

    iOS8が発表され、Swiftが解禁されてからしばらく経ちました。 iOSをやり始めて勉強用に作ったマイQiitaをまるっとSwiftに移植してみました。 Swiftが発表されてすぐに色々いじっていましたが、実際にアプリとして書き始めてみると気づく点もたくさんありました。 今回は色々ハマったり気づいた点をまとめていこうと思います。 ProductName-Swift.hは、ObjC側では.mにimportする これ、少しハマりました。どうやらヘッダファイルでimportするとダメなようです。 Swiftで定義したenumはObjC側で使えない Swiftでenumが大幅に強化されました。 それもあって、Swift側で定義したenumはObjCでは使えないようです。 Optionalをしっかり意識する Swiftの重要な概念である「Optional」ですが、しっかりと意識していないと細かいと

    [Swift] 自分のアプリをObjCからSwiftに移植して分かったこと - Qiita
  • Javascriptを使ってiOSのWebViewからネイティブにデータを返そう - 株式会社CFlatの明後日スタイルのブログ

    Swift使っていますか?弊社ではまだほとんど使っていません。今日もObjective-Cの話題です。 iOSアプリを作るとき、すでにWeb版で実装されている機能をiOSでもそのまま使いたいがためにUIWebViewを使うということがあると思います(あると言ったらある)。そしてアプリケーションが複雑になってくるとそのUIWebViewとデータのやりとりをしたくなってくることがあるわけです。iOSからWebViewにデータを渡すのは比較的簡単で、シンプルな場合はURLにパラメータをつけてGETリクエストを投げてあげれば目的は達成できます。 逆にWebViewからデータをiOS側に戻すときが少々ややこしくなります。WebViewからiOSにPUSH的にデータを渡すことはほぼできないと思われるので、このケースではiOS側からデータを取りにいかなければいけません。 幸い、WebViewには読み込み

    Javascriptを使ってiOSのWebViewからネイティブにデータを返そう - 株式会社CFlatの明後日スタイルのブログ
  • Xcode 6 時代のマルチデバイス対応 〜Size Classとベクター画像〜 - その後のその後

    とあるお仕事で、iPad をサポート(= Universal 化)してほしいという要望があり、せっかくなので iPhone 6 / 6 Plus (4.7 / 5.5 inch スクリーン)もサポートしようってことで、新しい Xcode 6 の新しい仕組みである Size Class を使って複数画面対応を行ないました。あと、同じく Xcode 6 から Asset Catalog でベクター形式がサポートされるようになったので、こちらもトライしてみました。 で、そのときに学んだ諸々の断片的なメモです。勘違いもあるかもしれないのでその際は優しくご指摘いただけますと幸いです。 ※ちなみに Size Class やベクター形式画像の使用は iOS 8 以上縛りではありません。単に Xcode 6 の新機能というだけなので。 Size Class の前提知識をつける 「Size Classsとは

    Xcode 6 時代のマルチデバイス対応 〜Size Classとベクター画像〜 - その後のその後
  • Bolts-iOSのとっても簡単な使い方説明 - Qiita

    Objective-Cとのブリッジファイルを作成する 適当なObjective-Cファイルを作成して追加します。その際に、Bridging-Headerを追加するか聞いてくるので、YESを押します。File > New > File > (iOS or OS X) > Source > Header File をして、 <プロジェクト名>-Bridging-Headerとしても追加可能です。 Bridging-Headerファイルに下記のように記述します。 これで準備が出来ました。 非同期処理を直列で処理する 一番簡単で利用頻度も高いと思われる非同期処理を直列で処理する方法について説明します。下記のサンプルコードを参照して下さい(サンプルコードは文末にリンクがあります)。例はYahooと通信してから、Googleと通信する例です。実行するとそれぞれ非同期通信にもかかわらず、必ずYahoo!

    Bolts-iOSのとっても簡単な使い方説明 - Qiita
  • Storyboard - カスタムSegueとカスタムUnwind Segueの作り方

    Xcode5でさらに使いやすくなったStoryboardですが、画面遷移を表現するSegueのanimation選択肢が少なく、すぐに自分のカスタムSegueを作りたくなってしまいます。 前の画面に戻る動作も、Unwind Segueにより簡単に実装できるようになりましたが、Unwind Segueの場合、そもそもanimationの選択肢自体がないので、こちらもカスタムUnwind Segueを作りたくなります。 今回はカスタムSegueとカスタムUnwind Segueの作り方をみてみたいと思います。 標準Segueを使った画面遷移 まず標準Seugeを使った画面遷移を実装してみます。新規プロジェクトでSingle View Applicationを作成したあと、Main_iPhone.storyboardを選んでみましょう。既に一つView Controllerがあるとおもいますが、

  • 一挙紹介!動画アプリで使ったCocoaPods - 株式会社CFlatの明後日スタイルのブログ

    もはやiOS開発に欠かせない存在になったCocoaPods。先日弊社からリリースしたアプリでも、複雑なUIやありがちな機能を簡単に実装するものから実装を少しラクにするようなものまで、いろいろなものを使っています。 スポーツ動画アプリ全10種類 | 株式会社CFlat iPhoneで気軽にスポーツ動画を楽しめるアプリケーションをリリースしました。AppStoreにて配信中です。 このアプリではスポーツのハイライトや試合結果、最新ニュースなどの動画を検索することなく閲覧することができます。スポーツが好きな方、スキマ時間を有効に使いたい方に最適な動画アプリです。 UI/コントロール系 MNMBottomPullToRefresh MNMBottomPullToRefresh for iOS - Cocoa Controls 「上に引っ張ったら更新する」機能を実現するものです。 iOS標準では下に

    一挙紹介!動画アプリで使ったCocoaPods - 株式会社CFlatの明後日スタイルのブログ
  • なめらかに動作するUITableViewのつくりかた

    矢口裕也です。 Advent Calendar 10日目はiOSのUITableViewの話をします。 ぼやき iOSアプリを開発していると70%くらいの時間はUITableViewに費やしている気がしてきます。 UITableViewは非常にめんどうなものですが、パフォーマンスがシビアでかつユーザーの快適さに直結するものなので大いに手間をかける価値があります。 この記事ではガクガク処理落ちするUITableViewを例として改善していきながら快適なUITableViewのつくりかたを解説します。 目的 以下のケーススタディでは次の目的でコードを改善していきます なめらかに動くようにする ここでのポイントは実際速くなくてもユーザが快適に感じればOKである、ということです。処理速度が高速である必要はありません。 戦略 UITableViewでのパフォーマンス問題は次の2点であることが多いです

    なめらかに動作するUITableViewのつくりかた
  • SwiftからObjective-Cのライブラリ使う - まさたか日記

    SwiftでiOSアプリ書くのはすっきりとした文法で快適なのですが、凝ってはいるけど定番な動きを実現したいときには誰かが作ってくれた部品を使いたくなります。Githubにもそれはそれは多くのiOS向けのOSSがありますし、大抵はMITライセンスなので仕事でも使い易い。しかしこれらは現在ほとんど全てがSwiftではなくObjective-Cソースコードで提供されています。そのうちSwiftのものも増えてくるでしょうけど今はObjective-Cだけ。 SwiftからObjective-Cを使おうとしたとき、承前としてまず読むべきなのは以下のドキュメント。私はXCodeを開いたMBPの傍ら、iPad miniのiBookに落として読んでます。 一瞬ハマりました。いきなりこのドキュメントにあるダイアログ(「Would you like to configure an Objective-C br

    SwiftからObjective-Cのライブラリ使う - まさたか日記
  • iOS 8 の新機能のサンプルコード集『iOS8-Sampler』を公開しました - その後のその後

    WWDCでのアップルの発表によると、iOS 8 では4000以上もの API が追加されたとのことですが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりよくわかりません。やはり実際にコード書いて動かしてみるのが一番わかりやすい、ということで今年もつくりました、 iOS 8 新機能のサンプルコード寄せ集めアプリ『iOS8-Sampler』 ソースコードは GitHub に置いてあります。 https://github.com/shu223/iOS8-Sampler ※使い方は Xcode 6 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひ最寄りのエンジニアにビルドしてもらってください。 中身について 今回はデザイナー okazu 氏の協力により立派なアイコンやスプラッシュ画像が最初

    iOS 8 の新機能のサンプルコード集『iOS8-Sampler』を公開しました - その後のその後
  • 久しぶりに自作CocoaPods作ったらさくっと行けた – morizotter blog

    pod spec createコマンドが良くなっているような印象を受けました。 作業手順 Pods化したいファイル群を格納するためのディレクトリを作成 必要に応じてファイルを格納 pod spec create <Podname>をして、下記、Podname.podspecを作成(記事下部参照) Podname.podspecを編集(記事下部参照) gitにpush 利用したいプロジェクトでgitのURLとtagを指定してpod install(記事下部参照) podspecを作成する pod create <PodName>で下記のPodname.podspecが出来上がります。 節名に添って書き換えていくだけ。 ここに書いたものしかPodsに取り込まれない。 # # Be sure to run `pod spec lint po.podspec' to ensure this

    久しぶりに自作CocoaPods作ったらさくっと行けた – morizotter blog
  • iOS8向けアプリ開発時の注意点

    Android, iPhone等のスマートフォン向けアプリ開発などの話題を中心に、時事ネタなどを気の向くままに書いています。 先日、iOS8のGM seedが公開されました。iOS8の正式リリースも間近ですね。 ところで、iOS8対策は済んでいますか? もし対策が済んでいたとしても、この下にある「UITextView、UITextFieldで編集メニューの表示がおかしい」だけは読んでおく事をお勧めします。 全てのUITextView、UITextFieldを使用したアプリが関係する問題です。 私自身、iOS8はベータ版の時から見ていたので、いくつか不具合が出る箇所を発見していました。 そこで、まだGMの段階ですが、備忘録を兼ねてiOS8対策に関して情報共有したいと思います。 間違いがありましたならばご指摘ください。 今回記載するのは以下の内容です。 他にもiOS8ではDeprecatedに

  • 24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1

    2012/11/14に開催された「なんでもないただの先端技術勉強会(仮)」にて、Backbone.jsの概要説明に使ったスライドです。 ◆プランナー向けの 全国書店、またはネットで発売中。 「アプリ&ゲームプランナー必読!レベルデザイン徹底指南書」 2786円(税別) 翔泳社 http://bit.ly/LevelDesignManual 「アプリ・ゲームプランナー完全マニュアル」 全国書店、またはネットで発売中。1900円(税別) 宝島社 http://bit.ly/GamePlannerPerfectManual ゲームプランナー向けのブログ「あなたの町のゲーム屋さん」 http://gameplanner.blog.jp/ update info ・ver.1.2.0 細かな調整と新著の宣伝追加。(2016.12.18) ・ver.1.1.7 細かな調整。(2015.01.15)

    24時間でiOSアプリ-Twitterクライアント-の作成にチャレンジ ver1.1