Swift/XCode/C++

CLionが最強かもしれない

WebStorm大好きっ子な私ですが、WebStormはWEB系技術をターゲットとしていてC/C++のIDEサポートはありません。Go言語関連がGoLandに製品格上げなされた結果としてプラグイン提供がなくなってしまったのと同様にC/C++のプラグインもどうやらWebStormに提供さ…

C++でCoreText

NodeモジュールでまずはOSのフォント情報を取ろうと思います。Objective-CでやればサンプルもたくさんあるのだけどここはC++で書きたかった。 #include <ApplicationServices/ApplicationServices.h> #include <nan.h> using namespace v8; ApplicationServices/ApplicationServices.hを取り込みます。この中にC</nan.h></applicationservices/applicationservices.h>…

NSNotificationCenterとセレクター記述のこと

iOSでは段を積んだようにメッセージキューが用意されています。そのアプリケーションワイドのやつを触るのがNSNotificationCenter。シングルViewアプリでUITextFieldを一個貼っただけのものを作ります。 import UIKit class ViewController: UIViewControlle…

SLRequestでGETなAPIの呼び方の注意点

FacebookのGraph APIはRest風な作りなのでGETやPOSTといったメソッドの別にも意味があり、GETが期待されてるAPIをうっかりPOSTで呼んでたら「success」とその他少々だけ入ったJSONが返ってきてさっぱり理由がわからなかったり。自分が間違ってるのにシミュレ…

info.plistを読むこととif-let-as?

FacebookにアクセスするiOSアプリケーションを作るには、info.plistにFacebook AppIDを書き込まないといけません。このへんはiOS向けのクイックスタートから数ステップでAppIDを取得してのちに、次に何をしなければならないかという説明文に詳しいです。 htt…

Null Coalescing Operator

Null Coalescing Operator、日本語だとヌル結合演算子と訳すのかな? func doSomething(queue: dispatch_queue_t? = nil, handler: () -> Void) -> Void { dispatch_async(queue ?? dispatch_get_main_queue()) { handler() } } こんな感じの関数があったと…

HTMLReaderというフレームワークがすごい

HTMLをクライアント側でちょっとパースする要件にてiOSで使えるHTMLパーサを調べると、いくつかあるのですが、HTMLReaderというのがたまたま目につきました。 nolanw/HTMLReader // Bridge-Headerにて、HTMLDocument.hとHTMLSelector.hをインクルードしてる …

XCodeのテストでビルド範囲を調整

XCode6でコードも書き慣れてきたので、通常開発モードとしてユニットテストも書き始めました。プロジェクト作るとアプリケーションとしてのターゲット設定と別にテストターゲットも自動にセッティングされます。またテストコードも新規作成ウィザードに「Tes…

Storyboardで縦に長い画面を作る

調べるとStoryboardは2011年秋のiOS6と同時に登場したXcode4.2の新機能だったとか。まったくブランク時期で、Storyboardもまた初見です。その前のInterfaceBuilderにはまったく良い思い出がないのですが、このStoryboardは一転してXcode開発の印象が変わりま…

AlamofireでGCDはいらなかった

Alamofireのソース読んだら、GCD使わなくていいってことがわかった。 var req = request(.GET, "https://graph.facebook.com/\(uid)/picture?type=large") req.response { (_, _, image, _) in //dispatch_async(dispatch_get_main_queue()) { () in <-いら…

SwiftyJSONのAlamoコンボ

SwiftyJSON · GitHub Alamofireで楽にネット上のAPIへアクセスできた後は楽に結果を処理したい。APIの戻りはJSONのことが多いですから、JSONが楽に処理できれば様々なことが捗ります。そこで探すと、このSwiftyJSONを見つけました。このGithubのグループはAl…

UIViewの周りに枠線を書く

UIViewの周りの枠線は、プロパティ一発とかいうことは無く、ちょっと書くみたい。layerをいじるのは前のUIImageを丸くしたところと一緒の考え方ですが、こちらの色指定がUIColorではなくCGColorというCoreGraphics.Frameworkのものでした。ただしサラッと書…

Alamofire使って非同期画像読み込み

Alamofire/Alamofire このAlamofireは、iOS界ではメジャーと聞くAFNetworkなるライブラリを作ってた人がSwiftで書き下ろした、新進気鋭なるものということです。AFNetworkが世に出たらしい時期は私にとって金勘定に専念していた技術的ブランク時期だったため…

SwiftからObjective-Cのライブラリ使う

SwiftでiOSアプリ書くのはすっきりとした文法で快適なのですが、凝ってはいるけど定番な動きを実現したいときには誰かが作ってくれた部品を使いたくなります。Githubにもそれはそれは多くのiOS向けのOSSがありますし、大抵はMITライセンスなので仕事でも使い…

SwiftでFacebook Page投稿しようとしたらハマった

以下、Facebook PageにPageとして投稿するというのをiOS8/Swiftで書いてみたものです。途中、投稿はできてもファンとしての投稿になってしまって、Pageのタイムラインにきっちり投稿できなかったのですがなんとかできました。実際に使うには戻りのチェックを…

Swiftでテストケースを書く際の疑問

最近のiOS開発ではユニットテストという概念がIDEに組み込まれていました。Xcode6.01でプロジェクトを新規作成するとターゲットモジュール名+「Tests」という命名規則でテスト用のモジュールが作られます。見るからにJUnitな作りで狙いがわかりやすい。setUp…

Head First iPhone & iPad Development

世の中iPhone6/6+発売にてお祭りになっているようです。私は6月にT-Mobile版のiPhone5sを購入してますので今回は残念ながらスルーです。愛用の Gild design ソリッドバンパー for iPhone5/5s も形状が大きく変わった6対応製品は出てませんので、約一年後にiP…