The Pragmatic Ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

2015-01-01から1年間の記事一覧

Objective-Cでnil結合演算子的なことをするには

Swiftだとnil結合演算子として"??"が用意されてますが、 Objective-C(というかC)でも似たようなことができます。 ここ(Conditionals - Using the GNU Compiler Collection (GCC))に書いてあるように3項演算子の真ん中を省略すると、条件式が非0の場合に条…

CIのサービスいろいろ

CI

Hound CIとかCode Climateとか知らなかったので調べたらここにCI Serviceのリストがあった。 Continuous-Integration-services/continuous-integration-services-list.md at master · ligurio/Continuous-Integration-services · GitHub Jenkinsでゴニョゴニ…

build.gradleからAndroidのバージョンベタ書きを避ける

Androidでgradleを使うと、デフォルトではこんな感じにバージョン情報がベタ書きで生成されます。 apply plugin: 'android' android { compileSdkVersion 17 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 8 targetSdkVersion 17 } buildTypes …

AndroidStudioでプロジェクトを開こうとするとCause: org/codehaus/groovy/runtime/typehandling/ShortTypeHandling

AndroidStudioでbuild.gradleを指定してプロジェクトを開こうとすると Cause: org/codehaus/groovy/runtime/typehandling/ShortTypeHandling というダイアログが表示されてプロジェクトが開かない・・・ という状態になりました。 gradle-wrapper.properties…

Android NDKでerror: 'to_string' is not a member of 'std'

androidでC++のstd::to_stringを使うと以下のようなビルドエラーがでました。(環境:Android NDK r10d) error: 'to_string' is not a member of 'std' もちろんC++11の設定自体はできていて、他のstd::functionなどは問題なく使えます。 LOCAL_CFLAGS := -…

Swiftで引数リスト(CVaListPointer)の渡し方

SwiftからObjective-Cのメソッドを呼ぶ際に、引数が引数リスト(va_list)の場合、Swiftでは型が以下のようなCVaListPointerになります。 class func raise(_ name: String, format format: String, arguments argList: CVaListPointer) 結論からいきますと…

xcodebuildでdevice向けのビルドするときのdestinationの指定方法

以前xcodebuildのパラメータの指定方法についてこちらに書きました。 Travis CIでObjective-C/Swiftのテストを実行する - Pragmatic ball boy テストするときはシミュレータを指定するのでこれで問題ないのですが、 実機向けのstaticライブラリを用意したり…

FragmentでUnfortunately, XXX has stoppedでクラッシュする

Android StudioのNew->Fragmentで追加したFragmentを使って表示しようとすると "Unfortunately, XXX has stopped" というポップアップが出てクラッシュするという問題が発生。 Logにも何も出ていない・・・ どこでクラッシュしてるのかさっぱりわからなかっ…

iOS保守するときに年に一回くらい使うwikipediaのリンク

iOS

端末でどのバージョンまで対応してるか調べるとき Highest version of iOS supported 解像度を調べるとき Display iOSのβ版の過去の動向を見るとき iOSSDK History

32bit/64bit混成バイナリをiOS5.1.1端末にインストールできない

iOS

CocoaTouch 64ビット移行ガイド より、iOS5.1.1以降で32bit/64bitの混成バイナリが利用可能と書いてあります。 しかし、ipaファイルを作ってiOS5.1.1にインストールしようとすると失敗してしまいます。 AppleのDeveloper forumに情報があったのすが、 https:…

Android Studio : Project Structure

なぜかちゃんと設定されなくて手動で設定しなおした。 Android Studioだと~/Library/Android/sdk以下にAndroid SDKがインストールされるですね Android SDK location ~/Library/Android/sdk JDK location /System/Library/Frameworks/JavaVM.framework/Home

Genymotionのインストール

手元にAndroidデバイスがないけどちょっとエミュレーターで動かしたい場合に、通常のエミュレーターだと遅すぎて使い物にならないのでGenymotionを利用しています。 インストールした時の手順のメモです。 Genymotionのダウンロードとインストール ここから…