3. アジェンダ • Auto Layout • Auto Layoutの基礎知識 • Interface BuilderでAuto Layoutを設定 • ソースコードでAuto Layoutを設定 • Auto Layout 補足
ビッグデータとかの機械学習隆盛の背景にある文脈や、その拠り所となるコンピュータの処理性能から考えても「モバイルデバイス向けOSと機械学習を紐付けて考えようとする」ことはそもそもあまり筋がよろしくない・・・とは思うのですが、やはり長くiOSだけにコミットしてきた身としては、新たに興味を持っている機械学習という分野と、勝手知ったるiOSという分野の交差点はないのかなと考えずにはいられないわけでして。。 そんなわけで、「iOS と機械学習」について雑多な切り口から調べてみました。 iOSで使える機械学習ライブラリ DeepBeliefSDK コンボリューショナルニューラルネットワークを用いた画像認識ライブラリ。iOSとかのモバイルデバイスで処理できるよう、高度に最適化してある、OpenCVと一緒に使うのも簡単、とのこと。 https://github.com/jetpacapp/DeepBeli
カヤックのAdvent Calendar 9日目は @Gemmbu がお送りします。 iOS でも実行時に確保したメモリ上のコードが動作することはある界隈では有名ですが、 手元で試したことがある方はすくないのではと思います。 そこで実行時に確保したメモリ上に、与えられた数値に 1 加算して返す関数を実装し動作させてみましょう。 流れ 与えられた数値に 1 加算して返すコードを書く アライメントを意識してメモリを確保する 確保したメモリにコードを書き込む 確保したメモリに実行権限を付与する 確保したメモリを関数として実行する サンプルコード #include <unistd.h> #include <stdlib.h> #include <sys/mman.h> // 与えられた数値に 1 加算して返すコード書く // 以下は armv7s 用のコードであり、armv7 及び arm64 で
セレクタを指定してオブジェクトにメッセージを送る処理について。 SEL sel = @selector(doSomething); if ([obj respondsToSelector:sel]) { [obj performSelector:sel]; } このようなコードをビルドすると、ARC有効時にperformSelector:の行について次の警告が出る。 PerformSelector may cause a leak because its selector is unknown 指示子@selectorによりセレクタを指定するのではなくSEL型変数を使用する場合にのみ警告が出る。実際、次のような場合には警告は出ない。 if ([obj respondsToSelector:@selector(doSomething)]) { [obj doSomething]; } if
iOS7だとNSAttributedStringが主となっていて、今までのtextプロパティは使わない方が良いみたいな風潮があるっぽい? その辺でハマる人がでそうなので記述しておく。 UIKitはWebKitから派生しているので、NSAttributedStringのような属性テキストは、NSHTMLWriterが内部的にHTMLに変換処理を掛けて表示している。 UITextViewに、HTMLを渡すとそれを解釈して表示するcontentToHTMLStringや、CSSの形式で外観を変更できるstyleStringのような隠しプロパティ(使うとリジェクトされる)が存在するのも、その辺りに由来しているのだと思われる。 それならば、lineHeightを操作することなど造作もないのでは?と考えたくなる。 NSParagraphStyleに行間周りのプロパティがあるので、これをNSAttrib
separatorInsetを設定しても、iOS 8では反映されない UITableViewの区切り線を左端まで表示したい場合、下記設定を行うと思いますが、 iOS 8では反映されない現象が発生しました。 self.tableView.separatorInset = UIEdgeInsetsZero; UITableViewのlayoutMarginsを設定する iOS 8から新しく追加されたlayoutMarginsを設定すると現象が解決できました。 ただし、UITableViewCellにlayoutMarginsを設定する場合は、 UITableViewCellのpreservesSuperviewLayoutMarginsをfalseにする必要がありました。 override func viewDidLoad() { super.viewDidLoad() if self.tab
iOS6からNSAttributedStringを使ってUILabelやUITextViewで表示する文字列を部分的に文字装飾できるようになりました。 まずは単純なフォントと色替え。 NSDictionary *stringAttributes = @{ NSForegroundColorAttributeName : [UIColor blueColor], NSFontAttributeName : [UIFont systemFontOfSize:14.0f] }; NSAttributedString *string = [[NSAttributedString alloc] initWithString:@"0123" attributes:stringAttributes]; _label.attributedText = string; このようになります。 この程度ならUI
iOSアプリをSwiftらしいコードで記述するために
Bugsnag という Crash レポート解析サービスがあるんですが、最近 Crashlytics から乗り換えたので、なぜ変えたのかをツラツラと書いていこうかなと思います。 実際 Bugsnag じゃなくてもこのような機能があるサービスの方が個人的には使い勝手がいいかなと思います。 Bugsnag は$29/monthかかります なぜ Crashlytics から移行しようとしたのか Crashlytics は便利なんでずっと使ってるんですけど、 Crash した場合にしかレポートを送信することができないのが一番の不満(※Fabric で改善されているかもしれません) このあとに言及しますが、Social.framework 等を利用した場合のエラーを集めたかったんですけど、そのために Crash しないといけないとか、ありえませんし。なのでそれを取得するために自分でエラー情報を集めよ
他アプリケーションが格納した Keychain Services 内の情報へのアクセス Mac OS X の場合はユーザが許可を与えれば他のアプリケーションの情報へアクセスすることができる。一方、iOS の場合、アプリケーションは自身が保存した情報のみアクセスが行える。他のアプリケーションの情報へは基本的にアクセスすることができない。ただし同じプロビジョニングプロファイルを使ってビルドされたアプリは設定により情報を共有することができる(後述)。 iOS での特記事項 iOS には単一のキーチェーンのみ存在する(Mac OS X は複数)。 iOS の場合、PC接続時にストレージの内容は暗号化されたままバックアップされる。これを復号化するパスワード(keychain password)はバックアップされない(iOSデバイスの中から外に持ち出されない)。 Keychain Service はプ
iOSでPush通知を実装する方法をまとめました。おそらくここを読んでいる方は実機テストをした方だと思いますので実機テストの方法は省きます。 Pushに必要な証明書の作り方を中心に取り上げます。 PushはPHPのライブラリであるapns-phpを使って行います。 最終的にPushに必要な証明書は2つ 最終的に必要になる証明書は2つのみです。 1. ルート証明書 entrust_root_certification_authority.pem 2. サーバ用証明書 server_certificates_sandbox.pem これを準備するのが大変です。 作り方は同じで cerからpemに変換 という処理が必要になります。これが大変。また、ファイルの名前がはじめどれがどれか分からなくなります。本記事ではデフォルトのファイル名を使って説明しています。最終段階でリネームしますのでご安心を。
GDB to LLDB command map# Below is a table of GDB commands with their LLDB counterparts. The built in GDB-compatibility aliases in LLDB are also listed. The full lldb command names are often long, but any unique short form can be used. Instead of “breakpoint set”, “br se” is also acceptable. Execution Commands Breakpoint Commands Watchpoint Commands Examining Variables Evaluating Expressions Examin
3Dアプリの開発にはまずモデルの読み込みが必要となります。 Metalにはレンダリング機能はあるものの、ローダは備わっていません。 そこで今回はボーンアニメーションに対応したモデルローダ作成のノウハウ(特にMetalの特性にどう対応したか)を紹介したいと思います。 ソースコードはこちらです: http://log.blog.klab.org/support/20140925/Blacksmith-bone_animation_sample.zip メインとなるファイルはBSModelとBSRendererです。 BSModelはモデルデータの管理やボーン計算を担当し、BSRendererはBSModelから頂点データやテクスチャ、ボーンマトリックス等を受け取ってレンダリングを行います。 まずはじめにモデルファイルのパースが必要となります。 3Dモデルのファイルフォーマットは世の中にいくつも
アラートっぽいのを表示するライブラリを作りたくなって,UIWindowを使ってみた. なんでwindowを使ったかというと,普通にviewにaddSubview:するのだと常に前面に表示されている保証が無いし,ライブラリのくせに自分の管理してないviewの階層をいじくるのはちょっとアレかなあと思ったから. UIWindowとは 昨今のモダンな環境でiOSアプリを作ってるとUIWindowを自分で作ることはまずないので気にしたこと無いかもしれないけど,UIWindowは特別なUIViewでview階層のルートとなるviewのこと. iOSアプリは例外なく全てのアプリが少なくともひとつのUIWindowを持っている. Xcode 3くらいまではテンプレートでwindowとってきてmakeKeyAndVisibleしていたのでなんとなく覚えている人もいるかと思う. Macと違ってiOSではひとつ
iPhoneのキーボードが表示されるように、自分の作ったViewControllerを表示させるやつです。 ViewControllerを作成し、そのViewControllerのViewのBackgroundをClearColorにしてpresentViewControllerすれば行ける…と思ったのですが、トランジション中は透けて見えるのに切り替わったとたんに画面が消えてしまいます。 https://developer.apple.com/jp/devcenter/ios/library/documentation/ViewControllerPGforiOS.pdf:title=iOS ViewController プログラミングガイド]を見ると、 View Controllerが表示される際、iOSは表示コンテキストを検索します。検索の最初の対象は、表示す る側のView Cont
Monzo has announced its 2024 financial results, revealing its first full-year pre-tax profit. The company also confirmed that it’s in the early stages of expanding into the broader European market… Last week, TechCrunch paid a visit to Apple’s Austin, Texas manufacturing facilities. Since 2013, the company has built its Mac Pro desktop about 20 minutes north of downtown. The 400,000 square foot fa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く