タグ

ブックマーク / qiita.com/lovee (11)

  • Xcode Cloud は銀の弾丸になるのか - Qiita

    記事は弊社が技術書典 14 で無料配布する同人誌「ゆめみ大技林 '23」の寄稿です。追筆や訂正等がある場合はこの記事で告知します。 皆さんは iOS 開発においてどんな CI を利用しているでしょうか。Bitrise?Circle CI?いやもしかすると Jenkins のお世話をしている方もいらっしゃるのではないでしょうか。いずれにせよ、CI/CD は現代の開発において必要不可欠な環境と言っても過言ではないでしょう、なぜなら CI/CD こそ我々に提出されたコードをマージする自信をもたらせてくれているのです。 そんな中、アップルがついに公式の CI サービスを 1 年の Beta を経て昨年正式リリースしました。その名も Xcode Cloud です。名前のとおり、Cloud で動く Xcode とイメージして差し支えないでしょう。 筆者が考えるこの Xcode Cloud の最大の

    Xcode Cloud は銀の弾丸になるのか - Qiita
  • 【翻訳】あなたの(多分)まだ知らない iOS パフォーマンスアドバイス(元アップルエンジニアから) - Qiita

    記事はこの記事の日語訳です。翻訳許可をいただいております。 以下翻訳: もし Cocoa 開発やソフトウェアビジネスのブートストラップについての最新の記事を常にキャッチアップしたいなら、ぜひ Twitter で私をフォローするかメールリストを購読してください。 開発者として、パフォーマンスの良さは我々のユーザにワクワクと嬉しさを与えるのに評価しきれないほど貴重なものです。iOS ユーザの目は非常に高く、そのためもしあなたのアプリが動作がモサモサしたり、すぐにメモリプレッシャーでクラッシュしたりすると、彼らはあなたのアプリを削除するか、最悪悪いレビューまで残してしまうでしょう。 私はアップルに 6 年間を在籍し、その歳月を Cocoa フレームワークやファーストパーティーのアプリに費やしてきましいた。私が手掛けたものには Spotlight、iCloud、app extensions、そ

    【翻訳】あなたの(多分)まだ知らない iOS パフォーマンスアドバイス(元アップルエンジニアから) - Qiita
  • 受託開発での iOS アプリプロジェクト新規作成プラクティス(下編:Bitrise 編) - Qiita

    前書き 記事は受託開発前提で書いております。そのため、受託開発における特殊な要件がいくつかあります。もちろん通常の開発にも通用する部分は多いですが、どこまで流用するかは読者の皆さん自身にご判断をゆだねます。 記事のサンプルとして使われたプロジェクトのバイナリデプロイ1はこちらの GitHub リリースページ から確認できます。 記事は下編:Bitrise 編で、CI 運用について説明します。Xcode プロジェクトの作成については上編をご覧ください。 要件 基開発環境は Xcode を利用します。 基 CI/CD 環境は Bitrise を利用します。なお記事も Bitrise アカウントを所有している前提で書かれており、登録についての説明は割愛します。 動作環境は社内開発環境(Development)、納品先検証環境(Staging)と番環境(Production)の三つが

    受託開発での iOS アプリプロジェクト新規作成プラクティス(下編:Bitrise 編) - Qiita
    s_ryuuki
    s_ryuuki 2019/01/30
  • 受託開発での iOS アプリプロジェクト新規作成プラクティス(上編:Xcode 編) - Qiita

    前書き 記事は受託開発前提で書いております。そのため、受託開発における特殊な要件がいくつかあります。もちろん通常の開発にも通用する部分は多いですが、どこまで流用するかは読者の皆さん自身にご判断をゆだねます。 記事のサンプルとして使われたプロジェクトはこちらの GitHub リポジトリーからダウンロードできます。 記事は上編:Xcode 編で、プロジェクトの作成を説明します。CI 運用については下編をご覧ください。 要件 基開発環境は Xcode を利用します。 ライブラリーの管理は Carthage を優先に利用し、Carthage で対応できないものは CocoaPods を利用します。 開発ツールの管理は基 Homebrew を優先に利用し、Homebrew が利用できないものは Bundler や Mint 等を利用します。 動作環境は社内開発環境(Development)

    受託開発での iOS アプリプロジェクト新規作成プラクティス(上編:Xcode 編) - Qiita
  • 公開ライセンスの話 - Qiita

    前書き 皆さんは「オープンソース」という言葉聞いた時、何を思いますか?「なんかかっこいい」とか、「よく知らないけどとりあえず私には関係なさそう」とか「いつか私もオープンソースプロジェクト作れないかな」とかいろいろあると思いますが、「なんかすごすぎて自分には届かなそう」とか思うのは非常に勿体無いと思います。だってオープンソースは誰にでもできることですから。やることは非常に単純で、ただ単に自分が書いたコードを公開して誰でも自由に入手できるようにするだけです。 まあそんなオープンソースですが、今となってはもはやプログラマにとって切り離せない存在となっています。だって何をやろうととりあえず何かしらのオープンソースプロジェクトと関わることになりますから。Windows 開発なら .NET framework とか、Android 開発ならそもそも Android 自体もオープンソースだし、そして U

    公開ライセンスの話 - Qiita
  • iOS 11 の Safe Area は Auto Layout だけでなくコードベースでも取れる - Qiita

    iOS 11 では Safe Area という概念を導入しました。そして日のイベントをご覧になられた方、もしくは iPhone X を少しでも掘ってみた方ならわかると思いますが、この Safe Area の概念はレイアウトする時、特に iPhone X ではものすごい重要になってきます。 具体的に iPhone X 向けのレイアウト最適化の話については是非とも公式の Building Apps for iPhone X と Designing for iPhone X をご覧いただければと思いますが、ここではとりあえず筆者みたいな Auto Layout 死んでも使わない人()向けに「Safe Area」をコードで取る方法を簡単に説明したいと思います。(ちなみに Auto Layout でしたら safeAreaLayoutGuide を使うことができます) iOS 11 からは UIV

    iOS 11 の Safe Area は Auto Layout だけでなくコードベースでも取れる - Qiita
  • SpriteKit で Shader が放置プレイされるとおかしくなる件 - Qiita

    u_time の使い方に注意! iOS 8 では SpriteKit が更に強化され、これでサードパーティ製のライブラリ(Cocos2D など)を導入しなくてもネイティブだけで Fragment Shader まで普通に使えるようになり、大変助かるのです。ところが、この Shader ですが、SpriteKit の問題なのかなんのかよくわかりませんが、物によっては長く放置してしまうとレンダリングが徐々におかしくなっていくこともしばしばあります。まあ結論から言うとこの章のタイトル通り、「u_time」の使い方には注意してほしいということですが、何の話なんかさっぱりわからない読者も居ると思いますのでとりあえず順を追ってまず SpriteKit でアプリを作るところから説明します。もうわかってるよとりあえず Shader をどう直せばいいのかが知りたい読者は直接「u_time を直す」の章へGO

    SpriteKit で Shader が放置プレイされるとおかしくなる件 - Qiita
  • ガチで Swift でプログラム組んで1年経っての心得

    前書き 自分は別にプログラマではなかったのです。プログラミング経験と言えば中学校の時一時期 BASIC を少し独学して、大学でプログラミング入門の授業で C を少しだけ触って、あとはまあ4年生の時の卒業研究でそれなりに CUDA プログラムを組んだ程度。あとは就職してからディレクターをやりながらも少しくらい(主に UI 周り)既存の Objective-C のソースコードの修正をやった程度です。 そんな僕が会社の都合もあってプログラマにジョブチェンジさせられ、ちょうど Apple も新たに Swift という言語を世に送り出したからこれならまあまあ簡単そうっと思いながら少しずつプログラムを組み始めました。 そしておおよそ1年くらい経ちましたし、そろそろ今までの経験をまとめてみたいと思っております。この記事では Swift の文法についても話しますし、もう少しでっかい規模のデザインパターンな

    ガチで Swift でプログラム組んで1年経っての心得
  • 十六進数の文字列から実際の数値を取得する - Qiita

    let hexString = "FF" var hex:UInt32 = 0x0 let scanner:NSScanner = NSScanner(string: hexString) scanner.scanHexInt(&hex) print(hex) //255 まあ Objective-C の時代ならこの書き方がベストだったのかもしれませんが、せっかく今の Swift はもっと便利な書き方あるのにな… var 使わずに済むし NSScanner 使わずに済むしコード量も半分で済むし(変換だけを考えれば半分どころか 1/3 になるんやで)何より余計な NS オブジェクト作らずに済みますから純正は Swift コードだけで出来ちゃうのがすごい気持ちいいんですよな。さらに radix: の記述で御察しの通り、これは十六進数だけでなくいろんな進数に対応している(正確に言うと hexSt

    十六進数の文字列から実際の数値を取得する - Qiita
  • UIImage の画素データを Array で取得する方法 - Qiita

    UIImage の画像は作りやすいです。適当に例えば UIImage(named: "SomeImage.png") で書けばとりあえず iOS や OS X で使う画像データをつくれます。ところが、時には画像そのものでなく。画像の中身のデータ、すなわち画素データを配列で欲しい時もあったりします。例えば画像解析する時とかですね。では、画素データをどうすれば取得できるでしょうか?結構いろいろググってみたけどなかなか最適解が見当たらなかったのですけど、一番手取り早く簡単かつ速い方法ですと下記のような感じですかね func getByteArrayFromImage(imageRef: CGImageRef) -> [UInt8] { let data = CGDataProviderCopyData(CGImageGetDataProvider(imageRef)) let length =

    UIImage の画素データを Array で取得する方法 - Qiita
  • 【質問】UIKit のみで OnScreen 描画フィルター掛けることできないかな? - Qiita

    はじめに GPU もしくは GPGPU 開発経験がある方なら恐らくわかると思いますが、GPU 演算において一番のネックは GPUCPU の間のデータ転送スピードです。そのため、例えば GPGPU 開発でしたら一番重要なポイントは CPU からは必要なデータを GPU に転送してから、なるべく CPU との通信を一切せず、全ての演算を GPU で完結させて必要な結果データのみ CPU に返すことです。描画においても同様で、基はなるべく必要なデータは全て一度の転送で終わらせて GPU に任せたい演算は GPU 内で完結させることを心がけることが重要だと思います。なのに…なんと iOS の CALayer は filters プロパティをサポートしないと今日はじめて知って絶賛 orz 状態なう。 filters プロパティとは Apple 公式開発資料によりますと、要は CALayer

    【質問】UIKit のみで OnScreen 描画フィルター掛けることできないかな? - Qiita
  • 1