タグ

ブックマーク / dev.classmethod.jp (47)

  • [iOS 11] Xcode 9で“だいぶまとも”に!新機能をまとめてみた | DevelopersIO

    Xcode 9の新機能をご紹介 ついにXcode 9がリリースされました!この記事ではXcode 9で何ができるようになったのか、何が変わったのか個人的に気になった部分をメインにご紹介します。 ※記事中のスライド画像についてはWWDCのものを引用しています。 目次 全体的なパフォーマンス向上 Source Editor リファクタリングがSwiftに対応 & 機能強化 Rename Extract Method Extract Variable issueをワンクリックでFixできるようになった フォントサイズの増減がより簡単になった コードの折りたたみ & 展開 が 良くなった Markdownをサポート 新しいビルドシステム 新しいビルドシステムを使う方法 Group作成時にフォルダを作成 GitHub連携が強化された リポジトリをクローンしてみた Xcode上でブランチを作成し、プッ

    [iOS 11] Xcode 9で“だいぶまとも”に!新機能をまとめてみた | DevelopersIO
  • 新しいUINavigationBar, UINavigationItem & UIRefreshControl #WWDC17 #WWDC2017 | DevelopersIO

    はじめに こんぬづは、海外ドラマや映画の影響でずっとチャレンジしてみたかった、中華の持ち帰りChineseBoxにようやくありつくことのできた田中です! チャーハンを頼みましたが、思いの外みっちり入っていてこの顔です。 今回の記事は iOS 11 において UINavigationBar 周りで新しいデザインとAPIが公開されたのでそれとその挙動の紹介です。 iOS 11 では以下の画像のような新しいUIが追加になりました。NavigationBar領域が広がり、タイトルが大きく表示されるモードが追加されました。現行のiOS 10における"Music"アプリのライブラリ表示部分のようなデザインです。(ここはUINavigationBarでは無いようですが) 記事は Apple からベータ版として公開されているドキュメントを情報源としています。 そのため、正式版と異なる情報になる可能性があ

    新しいUINavigationBar, UINavigationItem & UIRefreshControl #WWDC17 #WWDC2017 | DevelopersIO
  • [Swift 3.1] extensionでジェネリックパラメーターと具象型が等しい制約が書けるようになりました | DevelopersIO

    特定の型を要素に持つArrayにプロパティやメソッドを追加したい 「特定の型を要素に持つArrayにプロパティやメソッドを追加したい」というケースがあると思います。 例えば、要素がInt型のArrayに対して合計値を取得するtotalというプロパティを追加するケースを考えます。 Swift 3.1では以下のようにジェネリックパラメーターと具象型が等しいという制約が書けるようになりました! extension Array where Element == Int { var total: Element { return reduce(0, +) } } let intArray = [1, 2, 3, 4, 5] print(intArray.total) // 15 Swift 3.1以前 これまではextension Array where Element == Int {}のように書

    [Swift 3.1] extensionでジェネリックパラメーターと具象型が等しい制約が書けるようになりました | DevelopersIO
  • [iOS 10] 「Appleっぽい感じで!」と言われた時に参考にしたいUIの話 | DevelopersIO

    こんにちは。デザイナーの宮嶋です。 最近やっと手持ちのiPhoneをiOS 10にアップデートしました。 UIを見るためだけに触るのと、実際に使うのではまた感じることも違ってきますね。 はじめに 常に流行の最先端を行くApple製品。いつの時代もカッコイイ! クライアントから「Appleっぽいデザインで!」とオーダーを受けたことのある方も多いのではないでしょうか。 iOS 10のデザインについて今までもいろいろなところで話が出てきていると思いますが、 ここで改めてUIの特徴を見てみたいと思います。 ※あくまで私個人の解釈であり、実際の意図と異なる場合があります。 奥行きを持たせる 帯のように項目が並んでいたウィジェットがカードに変更されたのが大きな特徴ですよね。 周囲から切り離されて画面内に独立したことで、要素の距離関係がハッキリしました。 地図アプリでは重なって表示される領域ができました

    [iOS 10] 「Appleっぽい感じで!」と言われた時に参考にしたいUIの話 | DevelopersIO
  • [Swift 3] Swift 3時代のGCDの基本的な使い方 | DevelopersIO

    はじめに こんにちは!モバイルアプリサービス部の加藤潤です。 今回はSwift3で大きく変わったGCD(Grand Central Dispatch)のAPIについて、その基的な使い方を見ていきたいと思います。 基礎知識のおさらい GCDの具体的な使い方に入る前に基礎知識のおさらいをしておきます。 同期と非同期 まずは同期と非同期についてです。 GCDではキュー(queue)という「処理の入れ物」に対して処理を登録することで、適切なスレッド上で処理が行われるのですが、キューに登録する際に以下の実行方式のいずれかを指定することができます。 同期 キューに処理を登録したスレッドが登録した処理が完了するのを「待つ」 GCDのメソッドはsync〜 非同期 キューに処理を登録したスレッドが登録した処理が完了するのを「待たない」 GCDのメソッドはasync〜 上記のように、違いは処理が完了するのを

    [Swift 3] Swift 3時代のGCDの基本的な使い方 | DevelopersIO
  • [Swift 3] 型名を取得する | DevelopersIO

    Swift 3 で dynamicType が削除された Swift 2.x において、型名を取得するには dynamicType プロパティを使用する方法が一般的でした。しかし Swift 3 では dynamicType プロパティが削除され、別な方法が提供されました。 // Swift 2.x まで let text = "Hello!" String(text.dynamicType) String(describing:) と type(of:) を使う Swift 3 からは、String 型のイニシャライザとして String(describing:) が、そして値の型を取得するための関数 type(:of) 追加されました。これらを組み合わせて、型名を文字列として取得することができます。 // Swift 3 から let text = "Bonjour!" String(

    [Swift 3] 型名を取得する | DevelopersIO
  • 404 | Developers.IO

    Sorry..., Page Not Found. お探しのページは見つかりませんでした。 でも、Developers.IOでは日々たくさんの技術記事やイベント情報が公開されています。 いま気になる技術を探しに行きましょう! Developers.IOへ

  • クラスメソッドの社内制度と社風をご紹介します | DevelopersIO

    はじめに クラスメソッドは「AWSの会社」「モバイルの会社」「ブログの会社」とよく言われており、エンジニアやブログを最初にイメージされる方も多いかと思いますが、「社員が働きやすい環境を作る」ことに関しても頑張っています。例えば以下のような認定を受けています。 短時間正社員制度導入支援事業(厚生労働省支援) ワーク・ライフ・バランス推進宣言企業(新宿区支援) 平成23年度男性の育児・介護サポート企業認定(新宿区支援) 平成23年度ワーク・ライフ・”ベスト”バランス賞受賞(新宿区) 平成24年度東京ワークライフバランス認定企業(東京都) そこで今回は、クラスメソッドの社内制度と社風をご紹介します。クラスメソッドがどんな会社なのか?を知っていただく一助になれば幸いです。 クラスメソッドの社内制度 フレックスタイム勤務 勤務体系としてフレックスタイム制を採用しています。コアタイムは11:00~15

    クラスメソッドの社内制度と社風をご紹介します | DevelopersIO
  • RedPen でわかりやすい技術文書を書こう | DevelopersIO

    最近はブログを始めマニュアルや仕様書など技術文書を書く機会が多くなってきました。 技術文書はわかりやすさが重要だと思うのですが実際は書けていません。 どうしたらわかりやすい文書が書けるのだろうか?と調べていたら RedPen というツールを見つけたので早速試してみました。 RedPen とは? RedPen とはプログラマや記者が規約に従って文書を記述するのをサポートしてくれるオープンソースのソフトウェアツールです。 プログラミングが規約に従ってコーディングされているかチェックするように、RedPen は自然言語で記述された入力文書の検査を自動化してくれます。 RedPen の特徴 設定が柔軟に行えます。(カスタマイズも柔軟) どのような言語で書かれた文書でも処理できます。(もちろん日語も OK です) MarkdownTextile フォーマットで記述された文書をそのまま検査でき

    RedPen でわかりやすい技術文書を書こう | DevelopersIO
  • [iOS] iOS アプリのリリースプロセスを自動化してくれる fastlane の初期セットアップ方法 | DevelopersIO

    はじめに 先日、iOS のリリースプロセスを大きく自動化してくれる fastlane についてご紹介しました。 [iOS] iOS アプリのリリースプロセスを自動化してくれる fastlane の 勉強会 に参加してきました 今回は、fastlane をインストールし、プロジェクトフォルダに fastlane の各種設定ファイル等を組み込む方法をお伝えします。 インストール KrauseFx/fastlaneを確認しながらインストールを進めました。 sudo gem install fastlane --verbose 上記のように入力します。 To install Command Line Tools, try running `xcode-select --install` on terminal and follow the instructions. If it fails, op

    [iOS] iOS アプリのリリースプロセスを自動化してくれる fastlane の初期セットアップ方法 | DevelopersIO
  • 冷静に、開発者目線で見た「WWDC 2015」まとめ | DevelopersIO

    WWDC 2015 2015年6月9日 午前2時(現地時間では6月8日 午前10時)からAppleが主催する 「WWDC 2015」 が開催されました。例年、WWDCではAppleの新製品や新機能の発表が行われます。各種メディアをはじめ、開発者やApple製品のユーザーからも注目される、年に一度のお祭りのようなイベントです。 前回のWWDC 2014では、新言語「Swift」が発表され、開発者からの注目を大いに集めました。 WWDC 2015でAppleが掲げたテーマは、 「The Epicenter of Change」(変化の震央) です。 一体我々にどんな変化をもたらすのか、また震央とは何かに注目し、開発者目線でレポートをお届けします。 それぞれの OS の変化 OS X El Capitan OS X Yosemiteの後継 Mac OSです。ヨセミテ国立公園の名所で命名されていく

    冷静に、開発者目線で見た「WWDC 2015」まとめ | DevelopersIO
    hush_puppy
    hush_puppy 2015/06/09
    ジェネリクスが実装されるなら嬉しい。
  • [iOS] Xcode 6.3 から Objective-C でも Swift の Optional と同等の機能が利用できるようになりました | DevelopersIO

    Objective-C でも Optional Xcode 6.3 で Objective-C の言語機能のアップデートがあり、 Optional と同等の機能を提供する __nullable と __nonnull が利用できるようになりました。端的に言うと Objective-C で値が空の状態がより明確に表現できるようになったということです。今回は、この機能をご紹介します。 Xcode 6.3 から利用可能 __nullable __nonnullで定義 nullable nonnull でも記述可能 __nullable と __nonnull __nullable は、NULL または nil が含まれる可能性がある場合に使用します。一方 __nonnull は NULL または nil が含まれる可能性がない場合(つまり、絶対に空ではない場合)に使用します。これらを使うと、例え

    [iOS] Xcode 6.3 から Objective-C でも Swift の Optional と同等の機能が利用できるようになりました | DevelopersIO
  • iOS アプリデザイナー必読!WatchKit アプリをデザインする前に知っておきたい10のポイント | DevelopersIO

    WatchKit アプリをデザインしよう! Apple Watch の発売日も4月27日に決まり、注目を集めているのが Apple Watch 上で動作するアプリ 「WatchKit アプリ」です。しかしながら、WatchKit アプリで一体どのようなことができるのか、まだ追いきれていない人が多いのではないでしょうか。 結論から言うと、WatchKit アプリでできることは限られています。利用可能な View も iPhone アプリに比べてかなり限定されていますし、現状では iPhone アプリと連動させて動作させる必要があり、自由度があまりありません。 しかし、 WatchKit はかなりの可能性を秘めています。 その理由は Apple Watch という今までにない新たなデバイスの上で動作するアプリであるということです。 スマートウォッチと呼ばれる「腕に付けるデバイス」は、今までに無

    iOS アプリデザイナー必読!WatchKit アプリをデザインする前に知っておきたい10のポイント | DevelopersIO
  • [iOS 8] 15分で作れる CI 環境構築 | DevelopersIO

    iOSアプリにも継続的インテグレーション環境を こんにちは!今日からMacDownでブログを書いています。荒川です。 モダンなWeb開発では馴染み深くなってきた、CI(継続的インテグレーション)環境を iOS 開発でも弊社では積極的に取り入れています。社内での共有も兼ねて、今回は簡単にまとめます。 「継続的インテグレーション」と聞くととても難しそうで、設定も大変そうです。ですので、最低限コピペで作れる程度の環境構築方法を紹介します。 iOS 開発での CI とは何かを詳しく知りたい方は、弊社諏訪の記事 iOSアプリ開発でCI/継続的デリバリ環境を始めるための4種の神器 を参考にしてください。 今回構築する環境は、以下に該当する方に最適です。 gitを使って iOS 開発を行っている。 チーム内でチャットツールを使っていて、そのAPIが公開されている。 テストコードを書いている。または、その

    [iOS 8] 15分で作れる CI 環境構築 | DevelopersIO
  • [iOS 8] UIPresentationController でカスタムのモーダル表示を実装する | DevelopersIO

    UIPresentationController とは UIPresentationController は iOS 8 から追加された、View Controller の上のレイヤーにモーダルのような形で画面を表示する機能を提供する View Controller です。 iPad ではよく目にする機会が多いですが、下図のように View Controller の上に重なる感じで表示される画面のことです。 このような機能は、これまでは UIPopoverController のように、カスタマイズ不可能な形で提供されていました。iOS 8 では UIPresentationController が追加され、自由な表示・アニメーションのモーダルが表示できるようになりました。 なお、UIPresentationController は抽象クラスで、標準では上記 UIPopoverContro

    [iOS 8] UIPresentationController でカスタムのモーダル表示を実装する | DevelopersIO
  • [Xcode 6] Asset Catalog でベクターが扱えるようになりました! | DevelopersIO

    これからはベクターでアセットを管理!? Asset Catalog では、これまでビットマップ画像しか取り扱うことはできませんでしたが、Xcode 6 からは PDF 形式 と JPEG 形式 がサポートされました。特に新しいのが ベクターが扱えるようになったという点です! ベクターが扱えるようになったということは、いままでのように Retina や Non Retina で別々の画像を用意する必要がなくなったり、イメージを複数のサイズの View に配置したいときに1つのファイルだけ用意すれば良くなるということです。これはきっとプログラマーにとってもデザイナーにとっても嬉しいことですね! ということで使ってみました。 Asset Catalog でベクターを扱うには PDF 形式のアセットデータを用意する Asset Catalog でベクターとして認識できるのは PDF 形式のファイル

    [Xcode 6] Asset Catalog でベクターが扱えるようになりました! | DevelopersIO
  • [iOS 8] マルチデバイス対応の新機能「Trait Collection」 | DevelopersIO

    Adaptive なアプリを作ろう iPhone 6 / iWatch が発表され、iOS に新しい画面サイズのデバイスが仲間入りしました。おそらく今後も新しい画面サイズの iOS デバイスが登場してくるでしょう。このことから、各画面サイズに応じたアプリにすることはもはや必須要件と言えるでしょう。 このことはもちろん Apple も考慮しており、iOS 8 から Adaptive という概念が導入されました。Adaptive とは適応性という意味です。つまり画面サイズが小さくても大きくても、それぞれの画面サイズにうまく適応させて設計していきましょうという考えかたです。 ということで、稿では iOS 8 からのマルチサイズに適応させる方法について解説します。 Size Class これまで iPhone / iPad の判定や Portrait / Landscape の判定には UIUs

    [iOS 8] マルチデバイス対応の新機能「Trait Collection」 | DevelopersIO
  • Google の新しいデザインガイドライン「Material Design」 | DevelopersIO

    Material Design Google I/O 2014 で新しいデザインガイドラインが発表されました。 Google Design その中で注目されるキーワードが「Material Design」です。これは直訳すると「素材のデザイン」という感じになりますが、これは現実世界の素材をメタファーとすることでユーザーにとってわかりやすくなるように考えられたデザインのようです。 ということで、Material Design について簡単にまとめつつ、どうやってデザインを始めていけばいいか考えていきたいと思います。 Google Design のガイドラインを個人的に解釈した内容を掲載しています。誤解などありましたらコメント欄にて連絡ください。喜んで修正します。 イントロダクション まずはじめに Material Design の概要です。文をそのまま引用します。 We challenge

    Google の新しいデザインガイドライン「Material Design」 | DevelopersIO
  • [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
  • iOS 8リリースされたらiOSアプリ開発会社にどんな影響があるか予想してみた | DevelopersIO

    こんにちは!おおはしりきたけです。さて、日時間の6月3日にWWDCが開催されましたね。昨日の話題はすっかりSwiftで持ちきりでしたね。WWDCで発表されたiOS 8 が秋にリリースされる予定ですが、SwiftよりもiOSアプリ開発会社として私としては、iOS 8新機能の方が気になっています。既にAppleのサイトにはiOS 8のPreviewが公開されています。リリース後どのような影響があるのかを独断と偏見で予想してみます。 iOS 8について 今回、WWDCでは以下の発表がありました。 Photos. Messages. Details make the experience. Our smartest keyboard ever. Family Sharing. iCloud Drive. Health. iPhone, iPad, and Mac. Connected like

    iOS 8リリースされたらiOSアプリ開発会社にどんな影響があるか予想してみた | DevelopersIO