まとーか鈴木

千の姿と千の技と千の風

CocoaPods -> Carthage移行中に"dyld`dyld_fatal_error"でハマった話

Carthageで依存を設定したライブラリ読み込みでハマったので備忘のため記載。 ビルドが成功しても実行中に以下のようなエラーが出てしまいました。 dyld`dyld_fatal_error dyld: lazy symbol binding failed: Symbol not found: dyld: Symbol not found: 原…

iOS frameworkをtvOSにも対応させる

Carthageで使う自作iOS frameworkをtvOSに対応させた。 以下の方々のブログを参考に作業を進めてやったことだけをまとめる iOS用のCarthageフレームワークをwatchOSやtvOSに対応させる – Morizotter Blog iOSでしかCarthageで導入できないライブラリをOSX,tv…

Swiftで内部クラスのextensionを定義する

UIScrollViewを持ってるViewControllerのタッチイベントを取りたくなった。 という訳で、ViewControllerクラスのextensionでUIScrollViewのサブクラスを定義して、サブクラスのextensionでオーバーライドしてみたら出来た。 と、ここまで書いてきたけど、サ…

NSLocalizedStringの引数が増えてた

NSLocalizedStringを使おうと思ったらメソッドが長くて驚いた。 定義を見るとdefault引数だったので、 省略してしまいます。 パラメータは何? 超昔からあった様ですが知りませんでした。 key: いつものキー tableName: .stringsファイルの名前 bundle: .str…

XibとStoryboardのコンパイルでエラーが出てハマった話

iOS

appearanceType="aqua"とかいうやつでXibとStoryboardにエラーが出た話

Objective-Cのtry-catchはスロー

知り合いのJava屋さんがObjective-Cでtry-catchを書いているのを見て、 だいぶ前に本かWebでtry-catchが遅いという記述を見たような気がしたので調べてみた。

StoryboardとXibのオブジェクトには名前付け

iOS

viewとかconstraintで名前をつけた方が良いっすよね。 英語の方がカッコイイけど、日本人同士の開発では日本語の名前で良いんじゃないかと思う。 先日の記事で作った適当なView階層のそれぞれに名前付け。 ある程度、目星が付きますね!

StoryboardとXib

ブログって続かないものですね! こんなところにアクセスしてくれた方々に厚く御礼申し上げます。 近頃、StoryboardとXibのファイルの使い分けに悩んでおります。

標準出力に色付けしてテストの情報を見やすくする

xcodebuildを使ってテストするときに、表示を区別できないかと考えてみた。 特に、課金でiTunesStoreに接続する場合のように、 シミュレータではテスト出来ないケースを判別したかった。 普通に標準出力で適当なメッセージとしてログを出すのでも良いけど、…

iTunes Store TransporterでiTCのメタデータ更新

iOS

アプリ申請をコマンドラインから出来ないかなと思って調べてたら、 iTMSTransporterコマンドなるものが。

dispatch_benchmarkによるパフォーマンス計測

久々の更新になってしまった(´Д⊂ objc.ioの記事の中に、dispatch_benchmarkという関数を使っている記述を発見。 objc.io Low-Level Concurrency APIs

MacとiOS Simulator間のコピペ方法

MacとSimulator間のコピペ方法が判明!

xcassetsでアプリアイコン管理をスッキリさせる

アプリアイコン(App Icons)と起動画面(Launch Images)って ディレクトリの最上位に置かないといけなくてずっと嫌だったけど xcassets使えばFinderでの見た目もスッキリします。

300円バーに行ってきたら可愛い女子の連絡先を聞くことが出来た。

開発と関係ない話です。週末に学生時代の友人と飲んできた話を書いてく。

iBeacon試そうと思ったらMacBookが古くて動かせなかった

新年あけましておめでとうございます。 忘年会・新年会連発で遊び呆けていました。 今年も宜しくお願い申し上げます。年初はiBeaconでも試してみようと思ったら、行き詰まったので記録として残します。

【iOS7 TechTalks Videos】"Hidden iOS7 Development Gems"を観たのでメモ

遂にiOS7 TechTalksのビデオが公開されましたね。今回は"Hidden iOS7 Development Gems"で分かったことのメモを書いてく。 英語をちゃんと理解出来てないかも…つくづく英語が出来ればと思う。

ViewControllerにUIRectEdgeNoneを指定したらバーが黒くなってハマった

とあるViewControllerのedgesForExtendedLayoutプロパティにUIRectEdgeNoneを設定したら、 NavigationBarの色が濃くなってハマった。

2月までにはiOS7最適化しなきゃいけないって大変

iOS

遂にiOS7最適化が必須になってしまった。 Starting February 1, new apps and app updates submitted to the App Store must be built with the latest version of Xcode 5 and must be optimized for iOS 7. iPhone5が出て4inch対応が必須になったときより…

今ではあんまり役に立たない(かも)!非ARC時のメモリリーク調査方法

なんかオブジェクトがちゃんと解放されてないなーって時ありますね。instrumentsとか色々な調査方法があると思うけど、 今日はiOS開発を始めてから今でもたまに使う術の1つを記載したいと思う。

iCloud KeyValueStoreのデータを消す

OSXだとディレクトリが明記されてたけど、多分iOSにはない。だから、こうやって消す。 NSUbiquitousKeyValueStore* kvStore = [NSUbiquitousKeyValueStore defaultStore]; for (NSString* key in [[kvStore dictionaryRepresentation] allKeys]) { [kvStore …

iCloud設計ガイドでキー値ストレージの使用方法を調べてみた

iCloudのキー値ストレージを使うために設計ガイドを読んで調べてみた。iCloud設計ガイド https://developer.apple.com/jp/devcenter/ios/library/documentation/iCloudDesignGuide.pdf読んでわかったことを書いてく。

CATransform3DのKeyPathを知らなかった件

無知過ぎて泣いた。 ソース見てたらこんな感じの記述があって、 CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; 行列なんだしCATransform3Dにrotationなんか無くね?って定義を確認してみた。 st…

CoreMotionのいくつかのクラスを酔った勢いで訳す

iOS

CoreMotionの使ってみたいクラスを適当に訳した。 英語よくわからんので、ニュアンスが掴めればおk。 5SとかiPad Airとか買ったら使ってみたい。 直近では継続して記事を書くのが目標なので、汚くてもアップしちゃいます。 後で整形するかも。

未使用変数の警告を出さないようにする

本来の処理に必要ないけど、デバッグ用に定義しておきたい変数など、 未使用のままにすると警告が出てしまうことがありますね。 こういう時に__unusedを記述することで、警告を出さないように出来るみたい。 これが、 こうなる 「使わない変数なんか残すな」…

デッドロックのデバッグ

デッドロックした時はXcodeの一時停止ボタンを押すと各スレッドのコールスタックを見ることが出来てデバッグが捗る。 下の画像の一時停止ボタン。ラジカセっぽいやつ。 ブレークポイントはっている時に間違って押してしまうことがあったけど、 非常に役に立…

人生初ブログ

夜中に意識が高まったのでブログ始めてみた。 続かなそうだけど、開設までたどり着いた。 iOS,Objective-Cを中心に自分用メモを書いていこうと思う。 んで、今日初めて知ったNSCountedSetをメモ。 Each distinct object inserted into an NSCountedSet objec…