iOS
XCodeのTARGETS>Build Phases>Run Scriptで実行するスクリプトは改行していてもproject.pbxprojファイルの中では1行にまとめられてしまうので 差分のレビューがしづらい。 レビューしやすくするためにスクリプトを別ファイルに切り出すようにした。 手順は以…
Podfileに以下を追加すればよい。 post_install do |installer_representation| installer_representation.project.targets.each do |target| if target.name == 'Pods-AFNetworking' target.build_configurations.each do |config| config.build_settings['…
テスト対象が普通のアプリの場合、下記記事の通りのやればOK。 iOS - Xcode5でカバレッジをJenkinsに表示する - Qiita テスト対象がStatic Libraryの場合は、このやりかただと*.gcdaが出力されない。 以下のようにすればOK。 ・GcovTestObserverクラスの実装…
iOSアプリをビルドしてできたバイナリが毎回違う(ソースコードなどのビルドのインプットが全く同じでも)のが気になっていたんだけど、理由はTimestamp、GUID、ビルド時のファイルの読み込み順などらしい。 下記は.NETの例。 参考:c# - Why is the binary …
環境はiOS7。 再現手順は以下。 ・端末が縦向きの状態でアラートビューを表示する ・端末を横向きにする ・アラートビューのボタンをタップしてアラートビューを消す ・ステータスバーが横向きになる。 が、- (void)willRotateToInterfaceOrientation:durati…
1/15にある【第3回】potatotips (iOS/Android開発Tips共有会) - connpassに参加します。 発表資料は以下。 http://hosokawa0825.github.io/slides/iOSTips 社外の勉強会に参加するのは久しぶりなので楽しみです。
実行時にデバッグウィンドウで下記を実行すると一覧が出る。 po [[UIFont familyNames] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]
カレンダー等の許可ダイアログは一度OKすると二度と出ないので テストしづらい。が、Bundle Identifierを変更するとまた出せる。
nmコマンドを使う。 nm libPods-OpenSSL.a以下のようなシンボルテーブルが表示される。 一番左の列のアドレスが空欄のシンボルは未定義。 libPods-OpenSSL.a(xcbc_enc.o): 00001738 s EH_frame0 U _DES_encrypt1 00000000 T _DES_xcbc_encrypt 00001750 S _D…
これは下記のpublicなpodspecが原因。 https://github.com/CocoaPods/Specs/blob/master/OpenSSL/1.0.1/OpenSSL.podspec このpodspecでビルド対象のファイルをsource_filesメソッドに渡しているが、実はこれがOpenSSLの一部しか無くて、 ビルド対象になって…
下記のようにDockerを使ってビルド環境を分けられるよという記事をいくつか見たので、早速iOSアプリでやってみようと思ったら、DockerがMacに対応してなかった。。 第8回Jenkins勉強会で「Jenkins with Docker」というLTをしました #jenkinsstudy - Yahoo! J…
やり方がHack感あってかっこいい。fopen$UNIX2003とかなんなんですかこれは。。やり方は↓ GHUnitのテストカバレッジをJenkinsで表示する - TOKOROM BLOG
マクロでライブラリのログ出力を切り替えたりするなど、設定を変更することがあるのでこれは便利。 podをインストール後の処理を定義出来るとは知らなかった。やり方は↓ 参考:CocoaPodsで自動生成されたターゲットにPreprocessor Macroを定義する方法 | 踊…
テストライブラリが網羅されている。 iphone - iOS Tests/Specs TDD/BDD and Integration & Acceptance Testing - Stack Overflow iOSアプリのテストについての記事のまとめ TDD Resources for iOS | Architects Zone
cocoa podのtargetを使えばdebugビルドにのみ含めるように出来る。 target :debug do pod 'CocoaLumberjack' endこれをやるにはリリース用のターゲットと開発用のターゲットを分けないといけないが、基本それはやった方がいいよね。 参考:ios - Cocoapods d…
Build SettingsのArchitecturesをStandard Architectures(including 64bit)にするだけ。このお手軽さはすごい。 一応ReleaseビルドのBuild Active Architectures OnlyがNOであることを確認すること。 参考:iphone - Xcode 5 and iOS 7: Architecture and Va…
いつのまに・・・!日本語シンボルはきもいという人もいるけど、自分は推奨派なので使ってみたい。 参考:Xcodeで日本語の変数名が使えるようになりました
プロビジョニングファイルがMacに追加されていないことが原因だった。 プロビジョニングファイルをダブルクリックしてMacに追加するとビルドが通るようになった。
appleのサンプルコードを見ていたら下記コードがあった。 こういうマクロあったんだなぁ。 #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Ensur…
一般的な設定をGithubが公開してくれてます。ありがたやー。 gitignore/Objective-C.gitignore at master · github/gitignore · GitHub
XCodeのModernizerを使えばできる。 XCodeのメニューのEdit>Refactor>Convert to Modern Objective-C Syntax... を実行するとモダンな書き方に変更できるところのDiffが見られるのでDiffを確認した後一気に置換できる。
こちらの記事を参考に作業していたが、オーガナイザのshare...ボタンが見当たらない。 じつはもっと簡単なAdHocアプリ(ipa)の作成方法があった件... for Xcode4 - iPhoneアプリ開発まっしぐら★ - iPhoneアプリ開発グループ XCode4.3以降ではShareボタンが…
こういう書き方できるんだ。知らなかった。。NSRect,CGRect共通の記法っぽい。 CGRect rect = {1,2,3,4}; CGRect rect = {.origin = {0, 1}, .size = {.width = 2, .height = 3}}; 参考:Graham Lee on Twitter: "NSRect easyToRead = {.origin = { 0,0 }, .…
NSColor型のグローバル定数を直接宣言することは出来ないので、 float配列の定数を宣言し、呼び出し側でNSColorオブジェクトを生成する。 const.h const float kNiceBlueColour[] = {0.2, 0.2, 0.9, 1.0}; NSColor+category.m + (NSColor*) calibratedRGBCol…
しかも毎回発生する箇所が違うとか、発生しないことがあったりしてかなり厄介だった。 原因は詳しく追ってないけど多分以下。 ・GHUnitはデフォルトでは別スレッドでテストを実行している ・GHVerifyViewでViewのテストをするときにUIGraphicsGetImageFromCu…
ビルドしたら以下のエラーが出た。 file '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindowController.h' has been modified since the …
cocoapodでライブラリをインストールした後ビルドすると以下のエラーが出た。 Pods was rejected as an implicit dependency for 'libPods.a' because its architectures 'armv7' didn't contain all required architectures 'armv7 armv7s'下記記事によると…
UIViewをRootViewとするカスタムViewの場合は問題ないんだけど、UITableViewCellなどUIView以外のクラスをRootViewとするカスタムViewもXIBから作ろうとするとうまくいかない。iphone - UIView subclass with its own XIB - Stack Overflow An Update on Nes…
LLDBで変数の値を見ようとすると、以下のようなエラーメッセージが出た。 error: Couldn't materialize struct: size of variable print_string disagrees with the ValueObject's size Errored out in Execute, couldn't PrepareToExecuteJITExpressionこれ…
sudo gem update coocapodを実行すると以下のエラーが出る。 ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension.これはXCode Command Line Toolがインストールされていないことと、 デフォルトのXCodeがpreview版になってい…