この記事は OPTiM TECH BLOG Advent Calendar 2020 12/17 の記事であり、Swift その2 Advent Calendar 2020 の 17 日目の記事です。 こんにちは。R&D チームの久保です。今月でオープンソース化されてから 5 周年を迎えた Swift ですが、今回の記事はそんな Swift から OpenCV (C++) を今風のやり方で呼び出してみるまでの方法についてです。成功した方法だけ見ると大したことはなさそうですが、一歩足を踏み外すと多くの罠が潜んでいる状態だったので、今後同様のことをしたい人が同じ罠にはまらないようにまとめてみました。 XCFramework とは Swift Package Manager によるサポート なぜ OpenCV を XCFramework にして SwiftPM 経由で使おうと思ったか 必要環境
対応の比較動画 (体感2倍)エウレカ iOS エンジニアの muukii (Twitter) です🥃 私が開発を担当しているPairs Global (Pairsの海外向けアプリ)はアプリの起動がとても遅いのです。 一体なぜなのか。 OSはアプリを起動してAppDelegate (厳密にはmain関数)が呼び出されるまでには様々な処理を行います。 この部分の処理を最適化することでアプリが起動していない状態からの起動の高速化が期待できます。 アプリ起動高速化のための前置き (長め)まず、用語について、厳密には FrameworkとLibaryは異なるものですが、性質は近いので本記事では次のように用語を用います。 Static Framework または Static Libraryを まとめて 「Static Framework」と呼びます Dynamic Framework または Dy
この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2018 の投稿記事です。 みなさまこんにちは。リクルートマーケティングパートナーズの鶴田です。普段の業務では スタディサプリENGLISH で iOS エンジニアをしています。以前は スタディサプリ進路 チームにて、iOS エンジニアやデザイナなどをやっていました。 (てきとうなレジュメ 📝 ) デバイスやメディアインスタレーションなど、かたちのあるモノをつくることが好きです。自動車も好きで、実車は古~いクラウンやAMGを愛でています。一方ボロボロのラリーカーをゲットしてラリーをやるのも昔からの夢です。 ところでみなさん、ノードエディタは好きですか? ノードエディタとは1)ぼくの知っている限りは通称に過ぎず、安定したデファクトスタンダードな名称が未だにないと思うのですが、機能をもったパーツ
アーキテクチャ設計のすべてを濃縮! すべてのiOSアプリ開発者が待ち望んでいた、アプリケーション・アーキテクチャ解説本の執筆プロジェクト! 近年ますます大規模&複雑化しているiOSアプリ開発において、今求められているのは「アプリをどう設計するか」 「アーキテクチャをどのように設計すれば、将来に渡って安心してメンテナンスできるアプリを実現できるか」への解です。 本書は、古典的MVCから最新のFlux/Reduxまで、現代のiOSアプリで使われているアーキテクチャをまるごと詳解します。 また、第一線の開発者による導入事例も紹介します。 今からアプリ開発を始める方にとっての聖典に、ベテラン開発者にとっての補完書となることでしょう。 ぜひ皆さんの応援でプロジェクトを成立させてください!
おばんです、すごく遅れて話題のアニメを見ている田中です。メイドインアビスしんどいアニメですね...、楽しかったです、二期はよ。 さて、今回はPEAKSから出版された『iOSアプリ設計パターン入門』が、企画から半年以上続けてようやっと購入者の方々に届き始めるに至ったので、その期間で溜め込んだエモをぶち飛ばしていくぜ!!!🚀💥 (電子版は出ているなうです、製本版はもうしばしお待ちください🙏) 本を書いている期間は忙しくてあまり経過を書けなかったので、特に記憶に残った出来事を振り返ろうと思いました。 幸せも苦しみも全部詰め込みます。 peaks.cc 『iOSアプリ設計パターン入門』は技術書クラウドファンディングのPEAKSから出版された、iOSアプリの設計パターン本です。 現場で活躍するiOSエンジニア複数人で書き上げた生きた技術書です。 まずはじめに応援してくれたみなさま、ありがとうご
Branded domains are the perfect solution for any company looking to stand out and scale. Find the Perfect Name Powerful and unique brandable domain names are hard to find. Our collection of 150,000 brandable domain names is hand-selected by our team of branding experts, so you can find the perfect name quickly. Strong brand names are contextual, appealing, and evocative. In other words, great name
Xcode で macOS 用のアプリ(Cocoa)のプロジェクトを作ると、Storyboard のチェックを外しても xib を使って最初のウィンドウ(NSWindow)を作る設定となっています。 今回は、Storyboard も xib も使わずにコードのみで初期ウィンドウを作成する方法について紹介します。 以下の手順は Cocoa Application のプロジェクトを Storyboard のチェックを外して作成した状態を想定しています。 xibファイルの紐付けを削除 Info.plist のプロパティである「Main nib file base name」を項目ごと削除します。 以上を削除後、プロジェクト内の MainMenu.xib は削除して構いません。 手動でmain関数を編集 ウィンドウをプログラムのみで作成・表示する場合は main関数 を編集する必要があります。 O
やること Swiftでコマンドラインツールを作る プロジェクト構成などがCarthageとだいたい同じものを作る 依存管理にCarthageを使用する やらないこと 自分で作ったコマンドをbrew install出来るようにする Github 大体同じ手順で作業してcommitしたので、多少参考になるかもしれない。 XcodeでProjectを作る 最初に作るのはCocoa Applicationです。 今回は凄いツールを作ります。適宜自分が作るプロジェクトに置き換えて下さい。 Cocoa FrameworkのTargetを追加する Frameworkの名前はプロジェクト名にKitを付けたやつにします。適宜変更したりいろいろして下さい。 作ったTargetのschemeを共有設定にする 方法は適宜ぐぐって下さい。 全てをまとめるWorkspaceを作る さっき作ったxcodeprojを一旦
(訳注:記事をご覧の環境によって文字列が正しく表示されない場合がございます。) 投稿が遅れたFriday Q&Aにようこそ。Swiftユーザの最大の不満の一つに、 String APIがあります。Swiftの文字列APIは難しく鈍いため、多くのユーザが他言語の文字列APIのようであればと感じているのではないでしょうか。今日はなぜSwiftの String APIがこのように設計されているのか(少なくとも私がなぜそう設計されていると思うのか)を説明します。そして、基本的設計の観点から見て、なぜこれが最高の文字列APIなのかを説明します。 文字列とは何か 説明に入る前に、まず基本的な概念を構築しましょう。文字列について、漠然とは理解しているものの、あまり深くは考えないものなのではないでしょうか。文字列をじっくり考えることで、どのようなことが起きているのか理解することができます。 概念としての文
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く