Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

XCode

たまに使うショートカット

⌘ { でタブ移動 ⌘デリート でその文頭からカーソルまで削除 ⌘→ 行末へ移動 ⌥エスケープ 補完リスト表示 ⌘T 新しいタブ作成 キー ⌘ コマンド⌥ オプション⇧ シフト⌃ コントロールエスケープは○に左上に棒が入っているマークOS X Yosemite: メニューに表示され…

framework作成

フレームワーク作成 1. CocoaTouch frameworkを作る。Objective-C, 名前はSampleと仮定。 2. クラスを作成。(MyServiceとする。) 3. 公開するヘッダーをProjectのTargetsのBuild PhasesのHeaderにHeadersのPublicに加える。 4. Sample.h(アンブレラヘッダー)…

自動テスト

エレメントがあるかを待つ。作りかけ。これが使えるかは謎。 func waitForElementAppear(element: XCUIElement, time:TimeInterval = 5, file: String = #file, line:UInt = #line) -> Bool { //let exp = XCTKVOExpectation(keyPath: "exsits", object: ele…

テスト環境の追加とprovisioning

テスト環境を後から追加しようとしてprovisioningでエラーになっていた。 Build SettingのProvisioning(Deprecated)をautomaticにし、generalタブでprovisioningをautomaticにチェックを入れると動いた。参考 qiita.com

コメント追加

Alt + Cmd + / で自動挿入。知らなかった..。qiita.com

デバッグ クラッシュログ

以下のサイトが参考になった。 stackoverflow.com

デバッグ シンボライズ

Xode内にあるsymbolicatecrashを使う。以下を参照した。 www.crunchtimer.jp まず探す。Xcode8のフォルダ内で find . -name symbolicatecrash /Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash 面倒なので適当にl…

swiftc failed with exit code 1

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 で妙な現象にあった。 func reload(completion:@escaping (T?, Error?) -> Void) { objc_sync_enter(self.loadCompletion…

デバッグ lldb

ブレークポイントセット breakpoint set -n semaphore_wait_trap LLDB 使い方まとめ - Qiita dispatch_barrier_sync blocks main thread when re-requesting an image. · Issue #803 · rs/SDWebImage · GitHub script Pythonでscript入力 exit()で終了[LLDB]…

コンパイル時間計測

other Swift Flagsに-Xfrontend -debug-time-function-bodiesをつける。Speeding Up Slow Swift Build Times

iPhoneの実機でネットワーク環境を試す

図は「On-Demand Resources Guide: Optimization with Testing」を参照 設定 Settings/Developer/Network Link Conditioner/Statusenableをオンにし、 Profileを設定する。 Profile Profileは基本のpresetがあり、自分でも設定できる。 主な値は以下 100%LOS…

UIテスト

何々ができるまで待つ XCUIApplication *app = [[XCUIApplication alloc] init]; NSPredicate *existsPredicate = [NSPredicate predicateWithBlock:^BOOL(XCUIElement *app, NSDictionary<NSString *,id> * _Nullable bindings) { if (app.buttons[@"hoge"]) return YES; r</nsstring>…

コマンドライン

バージョン確認 xcodebuild -version ヘルプ xcodebuild -h インストールしているSDK xcodebuild -showsdks 以下参考 Xcodeでのビルドを自動化するxcodebuildコマンドとIPAファイルを作成してiTunes Connect(Testflight)に投げる方法 - 酢ろぐ! Xcode の Bu…

XCodeのデバッグで変数

可変リストを作ります。 (lldb) po [NSMutableArray array] <__NSArrayM 0x17084e970>( )オブジェクトをいれてみます。 p [(NSMutableArray *)0x17084e970 addObject:@"b"]変数を作ります。 p NSMutableArray* $list変数に先ほど作ったリストをいれてみます p $list = (NSMutableArra</__nsarraym>…

使うショートカット

検索 全体検索 shift + command + o フィルタバーへ飛ぶ option + command + j ヘッダ切り替え control + command + 上下 ペイン移動 command + 数字 画面分割 command + option + return 分割(縦) command + return 分割終了 置換 検索はcommand + Fだがこ…