タグ

ブックマーク / qiita.com (242)

  • CocoaPodsに登録したライブラリの更新 - Qiita

    はじめに CocoaPodsに登録したライブラリがあるときに、そのバーションアップをCocoaPods側に反映させる手順についてメモします。 前提 仮に、"SwiftyPickerPopover"という名前のライブラリについて、version 1.0.0から1.1.0へのアップデートをしたい場合を考えてみます。 手順 podspecのs.version = "1.0.0"を1.1.0に書き換えます。コミットを作ります。 s.source = { :git => "https://github.com/hsylife/SwiftyPickerPopover.git", :tag => s.version } のようにしておき、対象コミットに1.1.0のタグに打ちます。 ターミナルを開きます。リポジトリのディレクトリまで移動して、pod spec lintを実行します。バリデージョンをパスでき

    CocoaPodsに登録したライブラリの更新 - Qiita
  • Swift4のCodableに対応した、独自のDecoder(CSVDecoder)を実装してみよう - Qiita

    はじめに Swift4で追加された Codable 。 実はエンコード・デコードできるのはJSON相手だけではありません。 FoundationにはPropertyListEncoder、PropertyListDecoderも存在します。 また、 Decoder Encoder プロトコルに適合した独自型を実装すれば、Codableの恩恵により、任意のデータ変換処理を型安全に取り扱うことができます。 というわけで今回は、 Decoder プロトコルの挙動理解を兼ねて、CSV(カンマ区切りテキスト)のデコーダを実装してみました。 既存の JSONEncoder/Decoder PlistEncoder/Decoder のコードを参考にしつつ、CSVの処理へと落とし込んでいます。 記述を単純化するため、拡張機能や例外処理は省略しています。「カンマを含む文字列を表現できない」「要素が足りない列

    Swift4のCodableに対応した、独自のDecoder(CSVDecoder)を実装してみよう - Qiita
  • 難しいGitコマンドは、仕組みから理解してみよう - Qiita

    こちらはLife is Tech ! Advent Calendar 2016 22日目の記事です。 自己紹介 こんにちは!先日GitHubのIDがha1fha1fからha1fになりました、はるふ(@_ha1f)と申します。 Life is Tech ! では、主にiPhoneコースのメンター・講師をしています。 記事について Gitについての記事は、世の中に多くあります。 gitコマンドの使い方 gitの仕組み gitを用いたプロジェクト管理・運用 subversionなどとの比較・歴史 など、テーマが色々有ると思いますが、記事では、gitについて、少し仕組みについて踏み込みながら、コマンドとの関連を説明します。 用語の確認の章は初心者向けの基礎編です。使い方わかる方は飛ばしてください! それ以降は、仕組みについて書きます。もちろん軽く使うだけなら仕組みを知る必要はないですが、自分は

    難しいGitコマンドは、仕組みから理解してみよう - Qiita
  • SwiftのExtensionをモダンでオシャレに実装する - Qiita

    のように書いているExtensionを以下のようにオシャレに書くことができる、ということを解説します。 長くなってんじゃねーか。 と、思うかもしれませんが、こうすることによって型に含まれる標準的な機能と拡張機能を明確に区別することができます。 ちょっと便利。ちょっと。 Extensionをどうやって定義するか問題 なぜこのような話をするのかというと、Extensionをどうやって定義するかが問題になったりするからです。小さな問題ではあるんですけど。 Extensionは欲しいところに欲しいものを作ることができるので、結構使う機会が多いんじゃないかと思いますが、どこにどうやって定義するかまで考えたいところです。 局所的に使うものであればprivateなりfileprivateなりのアクセスコントロールを使って公開範囲を制限したりするかと思います。 逆にプロジェクト全体で使うようなものに関して

    SwiftのExtensionをモダンでオシャレに実装する - Qiita
    SatoshiN21
    SatoshiN21 2016/12/17
    このやり方で "let color: UIColor = .ex.yamabuki" って感じで型省略できたらいいんだけどな・・
  • Amazon AthenaでWebサーバがどのぐらいGet Wildか調べる - Qiita

    はじめてのGet Wild 駆動開発 先日発表されたAmazon Athenaを使えばWebサーバのログもそのまま分析にかけられるということなので、手始めにApacheのログを分析してどれだけGETでリクエストが来ているか調べてみました。 GETリクエストは即ちGet Wildリクエストです(暴論)。 下準備 Athenaで分析するためのログが必要ですが、自前でサーバを用意してログがたまるのを待ってると時間がかかるのでProcessing Logs in Hiveにあったサンプルデータを拝借しました。 サンプルデータ こいつをS3に放り込んでおきます。 今回はこのためにget-wild-athena161208というバケットを作り、apache-logsフォルダに保存しました。 バケット名はグローバルで一意である必要がありますが、日付を入れることで他の人もget-wild-athenaYY

    Amazon AthenaでWebサーバがどのぐらいGet Wildか調べる - Qiita
  • Slack×Swift×Fastlane:iOSアプリ配信ボット - Qiita

    この記事は Slack Advent Calendar 2016 - Qiita の6日目の記事です。 昨日は S_Shimotori さんの HubotとTypeScriptで翻訳Slack botでした。 Hi, I'm John! 今日はエウレカのiOS開発チームが使っている便利なボットを紹介したいです!Swiftで書かれて、Swiftをビルドするボット、 porygon と呼んでる。 このボットには、Slackでこういうメッセージ(コマンド)を送ると: XcodeのコンパイルからiTunesConnectやCrashlyticsまでデプロイしてくれるボットです!リアルタイムの報告もできる: ビルドはエラーがあった場合、ちゃんとログも送ってくれる: そしてporygonの特徴は、ローカルのMacでも実行できる! porygonみたいなボットが作りたくなってきたかな? Technolo

    Slack×Swift×Fastlane:iOSアプリ配信ボット - Qiita
  • URLをコピーしたらQRコードに自動変換して表示するMacアプリをSwiftで作った - Qiita

    まずはこちらをご覧ください。 URLをコピーすると自動でQRコードに自動変換して表示してくれてますね。動作としてはURLと思われるテキストをコピーした後、Cmd + Ctrl + CのショートカットでQRコードを表示するようにしています。つまり Cmd + C → Cmd + Ctrl + C のキーボード操作だけでいけます。便利ですね。 名前は LightningQR⚡️ です。ライトニングさんは関係ありません。 今回はこのMacのステータスバーに常駐するアプリをSwift3で作ったので、簡単に作り方を解説しようと思います。似たようなアプリを作ろうと思っている誰かのお役に立てれば幸いです。 なお実際に使ってみたい人は、下記からダウンロードしてください😀 またソースコードもGitHubで公開しているので見てみてください。Macアプリ初心者が作ったのでハッキリ言って雑コードです。ごめんなさ

    URLをコピーしたらQRコードに自動変換して表示するMacアプリをSwiftで作った - Qiita
    SatoshiN21
    SatoshiN21 2016/12/04
    Macアプリ実装のとっかかりとしてかなり有用な記事
  • Xcodeを画面分割(Assistant Editor)モードで使う時に便利なショートカット集 - Qiita

    はじめに Xcodeを利用していると、Editorウインドウを分割させて複数のファイルを対比させつつ開発を行うことがよくあるかと思います。 xibファイルのUIパーツとコードの紐付けを行う時にも重宝しますね。 そんな時に便利なのが画面分割(Assistant Editor)モードです。 XcodeのAssistant Editorで使う時に便利なショートカットたちをTipsとしてまとめました。 画面分割(Assistant Editor)モードへの切り替えを瞬時に行う 通常の一画面(Standard Editor)モードで、左ペイン(Navigator)のファイルを Optionを押しながらタップすると、 瞬時にAssistant Editorモードに切り替わり、右画面にタップしたファイルを表示することができます。 Interface Builder(.xib, .storyboard)を

    Xcodeを画面分割(Assistant Editor)モードで使う時に便利なショートカット集 - Qiita
  • Swiftの `_` (アンダースコア) - Qiita

    Swiftの _ (アンダースコア)の絡んだネタをいくつか書いてみます。 戻り値を _ で受けて破棄 Swift 3では、以下のように書くと、Result of call to 'f()' is unusedという警告が発生します。

    Swiftの `_` (アンダースコア) - Qiita
  • Cocoa Frameworkの同期ツール - Qiita

    以前にApple公式のこれとかこれとかこれを読んだときの自分向けまとめをQiitaに投稿しておく。ドキュメント読んでいない各位はこの記事を読むよりまずドキュメントを読んだ方が良いと思います() 用語の定義 ドキュメントの中では用語の定義が以下のようになされている。 スレッド: コードを実行する、他とは切り離されたパスのこと プロセス: 動作中の実行形式コードのことで、複数のスレッドから成ることもある タスク: 実行するべき処理を表す、抽象的な概念 スレッドセーフ ひとつのアプリケーションに複数のスレッドがあると、同じリソースに対する複数スレッドから変更が意図せず干渉する場合がある。基的かつ有効な方針は、共有リソースを減らし、スレッド間のやり取りを最小化することだ。 不変オブジェクトはスレッドセーフであるので、スレッド間で安全に受け渡しすることができる。また、そもそもあるオブジェクトが単一

    Cocoa Frameworkの同期ツール - Qiita
  • Google Developer Summit 2016:Android 知らなかったこと驚いたことメモ - Qiita

    知らなかったこと驚いたこと面白かったことを太字にしておきます。 流し見するのにはいいかもしれません。 Android N対応の知見が少し貯めることができました。 またAndroid StudioのところではGradleで設定しているバージョンなどに気を使ってみようかなという気になりました。 Googleの目的としてはAndroid Nの情報を出していくことで、フィードバックをもらい、改善につなげていきたいというところのようです。 間違いなどがございましたらコメントでご指摘いただくか、編集リクエストしていただけるとうれしいです。 Android Studio 一番伝えたいこと 複数のAndroidStudioのバージョンを共存できる アプリケーションディレクトリにAndroid Studio.appからAndroid Studio Canary.appなどに変えて、ファイル名を変えて、二つ入

    Google Developer Summit 2016:Android 知らなかったこと驚いたことメモ - Qiita
  • Material Designなアイコンの作り方 - Qiita

    はじめに Googleのデザインガイドラインを見ながら、Material Designなアイコンを作りました。 用意するもの adobe illustrator これがないと始まらない。 カラーパレット illustratorとPhotoshopで使えるMaterial Designなカラーパレット。 Roboto Font アイコンに文字を入れたい場合は使った方が無難かも。 アイコンのテンプレート テンプレートに含まれているグリッド線がとっても便利です。 作業手順 準備 イラレを立ち上げて、アイコンのテンプレートを開く。 スウォッチウィンドウを開き、スウォッチライブラリメニュー -> その他のライブラリ からカラーパレットのファイルを読み込ませる。 バックグラウンドを作る テンプレートに入っているSquareタイプのバックグラウンドをそのまま使用しています。 色はアプリで使ったプライマリ

    Material Designなアイコンの作り方 - Qiita
  • 最初に押さえておきたいKotlin言語仕様 - Qiita

    Kotlinをはじめるにあたって 言語仕様でここは押さえておこう、的な記事です。 普段の開発をJavaからKotlinへ移行していく過程で これは足りない、と気づいたら随時追記します。 何からはじめればいいですか Kotlin https://kotlinlang.org/ ここを起点に。記事では主にAndroid開発を想定しています。 Try Kotlin ブラウザ上でサンプルを見ながら、その場でコードを書いて動作確認ができます。 コンソール↓の Open in Playground → からエディタが開きます。 More examples からはカテゴリごとにサンプルコードが見れます。 Kotlin Language Documentation 英語ですけどコードは読めるのでなんとなく意味はわかります。 https://kotlinlang.org/docs/kotlin-docs.

    最初に押さえておきたいKotlin言語仕様 - Qiita
  • Xcode 7.3 Cocoapods "Could not build module" の対処法 - Qiita

    Allow Non-modular Includes In Framework Modulesの値をYesにします。 Podfile そのエラーがでた時の設定を書いておきます。 platform:ios, '9.0' use_frameworks! # Swiftのライブラリを使うための記述 def main pod 'ReactiveCocoa', '~> 4.1' end # ReactiveCocoaTestというプロジェクト名にライブラリを読み込む target 'ReactiveCocoaTest' do main end

    Xcode 7.3 Cocoapods "Could not build module" の対処法 - Qiita
  • Swift 2.2 の新機能: Swift の言語のバージョンのビルドコンフィギュレーション - Qiita

    提案: SE-0020 著者: David Farler ステータス: Swift 2.2 で 実装された レビューマネージャ: Doug Gregor はじめに この提案は Swift 2.2 に #if swift という新しいビルドコンフィギュレーションのオプションを加えようとするものです 動機 時とともに Swift の文法は変化するかもしれません。しかし、ライブラリやパッケージの作者は自分たちのコードが言語の複数のバージョンで動くことを望むでしょう。これまで開発者が持つ唯一の頼みの綱は言語のバージョンごとに別個のリリースブランチを作って維持するという方法でした。このため開発者は複数のソースツリーを維持しなくても文法の変化に追従できる別のツールを使いました。 私たちはソースコードを配布しているパッケージの作者にとっても言語のリビジョン間の移行を容易なものとし、それらのユーザーが古い

    Swift 2.2 の新機能: Swift の言語のバージョンのビルドコンフィギュレーション - Qiita
  • 未知の端末に対応するレスポンシブデザイン - Qiita

    はじめに 多様化する環境 iPhone6とiPhone6 plus、iPad proの登場によりiOSデバイスの画面サイズが一気に増えました。 次は4インチのiPhoneが追加されるという噂もあります。 Androidではそれ以上に多様な解像度の端末が発売され今後も増えていくことが予想されます。 Windowsタブレットの小型化も見逃せません。 さらに今後はTVやタブレット、カーナビなど様々なデバイスがWebにアクセスしてくるようになります。 以前のように特定の画面サイズをターゲットにしてWebサイトのデザインを行うのは難しくなっています。 現在ではあらゆる解像度や画面サイズで最適なWebデザインを行う必要があります。 最適とは 最適というのは、小さな端末でも見やすく、大きな端末では、大きさを活かしてもっと見やすく表示できることを言います。 より大きなスマートフォンを持っている人はより多く

    未知の端末に対応するレスポンシブデザイン - Qiita
  • Android 6.0のRuntime Permissionに対応する - Qiita

    Android 6.0ではRuntime Permissionという概念が取り入れられました。 それまでのアプリでは動作に問題が出ることが有ります。 Runtime Permissionとは Androidではカメラやネットワークなど一部の機能を使用するには、ManifestにPermissionを記載して、使用を明示的に宣言しないと使えない機能があります。 これにより、ユーザーはそのアプリがどのような機能を使用しているかを把握することが出来ます。 PermissionはAndroid6.0未満では全てインストール前に確認するという方式が取られており、ユーザーがPermissionを許可しなかった場合アプリをインストールすることが出来ませんでした。 しかし、この方式はいくつかの問題を含んでいます。 多くのユーザーはインストール前にそのアプリがどのPermissionをどうやって使うのか把握

    Android 6.0のRuntime Permissionに対応する - Qiita
  • Parse以外のmbaasサービスを使ってSwiftアプリ作るなら個人でも会社でも「ニフティクラウド mobile backend」がオススメ - Qiita

    Parse以外のmbaasサービスを使ってSwiftアプリ作るなら個人でも会社でも「ニフティクラウド mobile backend」がオススメiOSParsemBaasSwift移行応援 Parse.comが突然の終了 2016年1月29日(日時間)、米国で展開中の日国内でも多数のユーザーがいるParse.comが突然のサービス終了アナウンスを出しました。 終了するタイミングはちょうど1年後の 2017年1月28日(恐らくアメリカ東部時間)の予定だそうです。 この記事の目的 元々、Parseを使う予定だったSwift初心者の方は衝撃を受けたことと思います。 移行に関する記事は他の方に譲り、 今後のmbaasサービスを選ぶ際の参考にして頂きたい より多くの人が安心して自分のアプリにフォーカスして欲しい という思いからこの記事を作成しようと思いました。 そもそもニフティクラウド mobil

    Parse以外のmbaasサービスを使ってSwiftアプリ作るなら個人でも会社でも「ニフティクラウド mobile backend」がオススメ - Qiita
  • SwiftのmapとflatMapがやっている事を理解する - Qiita

    便利だけど理解が難しいmapとflatMapですが、次のように捉えると自分としてはしっくりきました。 正確な表現ではないかもしれませんが、理解の参考になればと思います。 説明のための用語 mapやflatMapが呼ばれるインスタンスを「レシーバ」と呼ぶことにします。 と呼ぶ時のinstanceがレシーバです。 mapでやっていることを整理する mapは配列の各要素を変換して配列で返すイメージが強いと思いますが、 もう少し一般化して、次のようなステップを踏む処理だと捉えます。 1. レシーバのジェネリクスを解除してクロージャに渡す。 ここで言う「ジェネリクスの解除」とは、オプショナルならアンラップ、SequenceTypeなら個々の要素ごとにバラす事を表します。 2. 得られた値をクロージャ内の処理で変換する。 1で得られた値をクロージャに渡し、変換した値を返してもらいます。 3. 変換結果

    SwiftのmapとflatMapがやっている事を理解する - Qiita
  • SwiftLint導入 - Qiita

    導入方法 Homebrewをインストールする Homebrewをお持ちでない方 MacにHomebrewをインストールする 上記のURLにMacにHomebrewをインストールする方法が記載されていますので、 インストールしてください。 Homebrewをお持ちの方 念のため、Homebrewのupdateを行ってください

    SwiftLint導入 - Qiita