タグ

ブックマーク / seesaakyoto.seesaa.net (18)

  • [iOS] FastlaneでゴニョゴニョしてからEMLauncherにアップする

    iOSアプリ開発担当の加島です。最近のリズムゲームアプリはすごいですね!(3Dアニメとか)ただ、私は現実のコインを使わないことにしています。今のところ。 さて、今回は巷で話題(となってから少し時間が経ちましたがここ最近僕の中で話題)のFastlaneを使ってみました。基的な使い方は公式ガイドである以下をご参照ください。 iOSアプリの継続的デリバリーに便利なfastlaneのご紹介 - Qiita http://qiita.com/gin0606/items/162d756dfda7b84e97d4 iOSアプリのリリースフロー自動化ツールfastlaneのmeetupに通訳で参加しました - Mercari Engineering http://tech.mercari.com/entry/2015/07/13/143000 このFastlaneのビルドツールであるgymですが、直接ビ

    [iOS] FastlaneでゴニョゴニョしてからEMLauncherにアップする
  • Xcodeで行うUIテスト

    iOS担当のエモトです. 今回は約3ヶ月前に公開したテストに関する記事の続きになります.前回において,User Interface Testing / Recording のことに触れましたが,当時はXcode7がbetaだったので控えましたが,ついに問題なく書ける日がやってきました. UIテストを使ってみる 使い方は非常に簡単です.シミュレーターを起動して,赤い丸ボタンの録画ボタンを押して,実際のUI操作を録画するだけです. そして,そのテストコードを動かせば,録画された動作を自動で行います.XCTAssertを組み合わせれば,画面操作して得られた結果を判定することもできます.簡単な操作でUIテストが行えるのでとても魅力です,しかし,問題として,まだ非同期テストには対応していませんので,万能ではありません.使用する場所は限られますが,標準でUIテストをサポートしてくれたのはうれしいことで

    Xcodeで行うUIテスト
  • テストフレームワークXCTest

    iOS担当のエモトです.私事ではありますが,ラブライブ関係者様,劇場版の興行収益ランキング1位おめでとうございます.私も微力ながら貢献させていただきました. さて先日のWWDCにて, Xcodeのアップデートが発表されました.ネイティヴアプリに変わったwatchOS2やオープンソースになるSwift2.0などと比べると話題性はあまり大きくないですが,他の新機能にはなかなか興味深いものがあり,Xcode7の正式リリースが楽しみです. 私が気になるものの1つは,User Interface Testing / Recording です.XcodeはテストフレームワークXCTestを用いたテストが可能ですが,UIテストは非対応でした.UIテスト用のサードライブラリはこれまでもありましたが,近年iOS端末の解像感が多様化してきたので使用を控えていました.標準でサポートされるのであれば,是非使ってい

    テストフレームワークXCTest
    clavier
    clavier 2015/06/21
    テストフレームワークXCTest
  • Androidでプッシュ通知をする際の事前準備

    Androidプッシュ通知はGCM(Google Cloud Messaging for Android)を利用して実現されています。こちらを利用するにあたって、開発者は予めGoogle Developers ConsoleにてAPIキーを取得する必要があります。 しかし、場合によっては開発者でない方にAPIキーの取得をお願いしなければいけない場面も存在するかと思います。そういった場合のために資料を作成しようと以前から思っていたのですが、せっかくなので今回記事にすることにしました。 では以下に手順を説明していきます。 1.Google Developers Consoleにアクセスする https://console.developers.google.com Googleアカウントが必要になりますので、アカウントを持っていない場合は事前に作成しておきます。 2.新規プロジェクトを作成す

    Androidでプッシュ通知をする際の事前準備
  • Androidで日付と時刻入力を手軽に行えるダイアログをライブラリとして公開しました

    メリークリスマス! Seesaa東京オフィスでAndroidアプリ開発を行っている 今中 と申します。 東京オフィスでは技術ブログを保有していないため、京都の技術ブログに掲載させていただくこととなりました。 今後もネタがあればこのような形で出張ってくるかも知れません。よろしくお願いします。 この度Seesaaでは、自社アプリでも使用している日時入力ダイアログを実装するライブラリとして 「datetimepicker-android」をGitHubにて公開しました。 また、Bintray jcenter Mavenリポジトリにてライブラリの公開を行っております。 https://github.com/seesaa/datetimepicker-android 使い方は同梱のサンプルアプリ(app/)やREADME.mdをご確認ください。 ちなみに私は必要に応じて{Date|Time}Pick

    Androidで日付と時刻入力を手軽に行えるダイアログをライブラリとして公開しました
  • JenkinsからEMLauncherにアプリをアップロード

    iOS担当の田中です。 弊社ではiOSやAndroidのアプリの配布にEMLauncherを導入しています。 プロジェクトの管理をJenkinsとgitを使用して行っている場合、特定のブランチに変更があると自動でビルドを行いEMLauncherへアップしてくれるとかなり便利です。 そこでJenkinsからEMLauncherへアプリをアップロードする流れを簡単に紹介したいと思います。 Xcodeを使用するのでMacにJenkinsをインストールしています。 今回はすでに何かしらのジョブが作成されている状態から説明します。 EMLauncher Jenkins PluginをJenkinsにインストールする https://github.com/KLab/emlauncher-jenkins-plugin まずこちらからJenkinsにプラグインをインストールするのに必要なプロジェクトを取得

    JenkinsからEMLauncherにアプリをアップロード
  • [iOS] Swiftでログをとりたい

    こんにちは。先日の健康診断で昨年に比べ 6kg 太っていた、 iOS 担当の加島です。身長は相変わらずでした。野菜中心の生活に移行したいと思います。 さて今回は、 Swift でログをカスタマイズしてみたいと思います。Objective-C では基的に NSLog を使っていましたね。Swift でも使えます。 let abc = "def" NSLog("%@", abc) // => 2014-08-13 19:00:00.000 MySwiftApp[11379:260330] def ただ、日時やスレッド番号は必要なく、関数名や行番号などが欲しい場合もあるのではないでしょうか。このような場合は、 println が使えます。さらに、Swiftでは文字列内に変数・定数を "\(...)" で展開できるため、以下のように書けます。 println("[\(__FUNCTION__)

    [iOS] Swiftでログをとりたい
  • [iOS] UIImageを比較したい

    先日のGW,舞鶴鎮守府に着任しに行きました,エモトです.肉じゃが,美味しかった(*´ω`*) 二つの画像が同一かどうか比較したいが,そのデータの更新時間や元の画像ファイル名もなく,直接UIImageのインスタンス同士を比較するしかない場合のお話です. Obj-Cには 比較メソッド「-(BOOL)isEqual:(id)object」が用意されているクラスがありますが,このUIImageクラスにはありません.そこで,このメソッドを自作します.方法としては,UIImageインスタンスを,比較メソッドを持つNSDataインスタンスに変換して比較を行います.冗長な比較をさけるため,最初に画像サイズを使って判定しています. @interface UIImage (equal) -(BOOL)isEqual:(UIImage*)image; @end @implementation UIImage (

    [iOS] UIImageを比較したい
  • [iOS]CGRectやCGPointのログ出力

    iOS担当の田中です。 CGRectやCGPointの内容を出力したい時は以下を使用することで出力できます。 NSLog(@"rect = %@", NSStringFromCGRect(self.view.frame)); NSLog(@"point = %@", NSStringFromCGPoint(self.view.center)); 出力結果 rect = {{0, 0}, {320, 568}} point = {160, 284} もっと分かりやすく出力したい場合は NSLog(@"rect = %@", CGRectCreateDictionaryRepresentation(self.view.frame)); NSLog(@"point = %@", CGPointCreateDictionaryRepresentation(self.view.center)); 出

    [iOS]CGRectやCGPointのログ出力
  • [iOS]プロパティでも検知がしたい!(キー値監視プログラミング)

    立花ちゃんかわいいよ立花ちゃん,エモトです. プロパティの値が変わったら,それを検知したいなという場面があると思います.そのプロパティ値のsetメソッドをオーバーライドして,その中にdelegate, blockやnotificationを仕込むなど,いろいろ有りますが,それは面倒くさい・・・.今回は,その変化を通知する方法を紹介します. キー値監視(Key-Value Observing)という手法を使います.実装は簡単で,NSNotificationの通知と同様に,監視の対象設定とその通知受信の2つを加えるだけです.その他のメソッドに関してはアップルの開発ドキュメントをご確認ください. プロパティの監視を始めるメソッドです.anObserverは監視するオブジェクトの指定で,ここにselfを指定すれば,自オブジェクト内でプロパティの監視を行います.keyPathは自身が持つプロパティ名

    [iOS]プロパティでも検知がしたい!(キー値監視プログラミング)
  • [Android]xmlで角丸ボタンを作る

    Androidを担当しています、森脇です。 今回は画像を使わずに、xmlだけで角丸ボタンを作ってみようと思います。 ShapeDrawableを使ってボタン用のxmlファイルを作成 ShapeDrawableを利用してボタンのパーツを定義していきます。 http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- ボタンが押されてない時 --> <item android:state_pressed="false"> <!-- ボタンの形状 --> <shape an

    [Android]xmlで角丸ボタンを作る
  • [iOS]NSDateに月の最終日を設定

    iOS担当の田中です。 NSDateに月の最終日を指定して設定する方法を紹介します。 例えば2013年11月の最終日を設定したい時 NSCalendar* calendar = [NSCalendar currentCalendar]; NSDateComponents* dateComponents = [NSDateComponents new]; dateComponents.year = 2013; dateComponents.month = 12; dateComponents.day = 0; NSDate* date = [calendar dateFromComponents:dateComponents]; NSDateFormatter *dateFomatter = [NSDateFormatter new]; [dateFomatter setDateFormat

    [iOS]NSDateに月の最終日を設定
  • [iOS] UIAlertViewのクリックイベントをBlockをやりたい(関連参照その2)

    iOS担当のエモトです.IdeaPad Miix2 8,ICONIA W4と8インチWindowsタブレットの発売が始まっていますね. Dell好きなのでVenue 8 Proの発売が待ち遠しいです.提督が捗る.今回は関連参照に関するエントリの続きになります. ブロックは便利なのにどうしてUIAlertViewはデリゲードだけでブロックが付いていないんだろうと思うことが多々あると思います.今回はUIAlertViewにブロックを組み合わせる方法を紹介します, ブロック自体は登場してから日が経っているので,これに関する他記事は幾つかあります.以前見た記事だと,UIAlertViewをオーバーライドしたり,ブロックをメンバー変数を持つ別クラスを用意してUIAlertViewと組み合わせる実装例を見ました. しかし,関連参照を使えば,カテゴリ機能を使ってUIAlertViewクラスにメソッドを追

    [iOS] UIAlertViewのクリックイベントをBlockをやりたい(関連参照その2)
  • [iOS]画面遷移のアニメーションをカスタムする

    ベトナムで開発を始めてはや4ヶ月目、田中です。 iOS7から追加されたUIViewControllerAnimatedTransitioningとUIViewControllerTransitioningDelegateの2つのプロトコルを使用して画面遷移のアニメーションをカスタムする方法を紹介します。 このようにいつものスライドして遷移するのではなく、好きなアニメーションで画面を遷移させることができます。 ViewController.m #import "ViewController.h" #import "AnimationController.h" @interface ViewController () <UIViewControllerTransitioningDelegate, UINavigationControllerDelegate> { AnimationContro

    [iOS]画面遷移のアニメーションをカスタムする
  • [iOS]Xcode5でのProvisioning Profileの管理

    iOS担当の川口です。 iOS7がリリースされて2週間弱たちますが使い心地はどうですか?僕はまずまずな感じで使っています。iOS7リリースとともにアプリの開発環境もXcode5にアップデートしました。いつものようにProvisioning Profileの更新しようとOrganizerを開いてもProvisioning Profileの項目がありませんでした。調べたら見つけました。 まずXcodeのメニューからPreferencesを開きます。 開くとAcountsというタブがあるのでそのページの左下の+ボタンでアカウントを追加します。 そうするとそのアカウントに紐づいてるProvisioning Profileが追加されます。 右下のView Detailsボタンを押すとProvisioning Profileの一覧を見ることができます。 このページの左下のリフレッシュボタンで無事更新が

    [iOS]Xcode5でのProvisioning Profileの管理
  • [iOS]NSLogの出力を切り分ける

    iOS担当の田中です。 開発をしていると「今どこの処理を通っているのか」「ログ出力の内容が多すぎてよくわからない」など困ることがあります。 そんな時に #define を使ってログ出力コントロールできます。 #define DEBUGLOG 1 #define DEBUGLOG_FILENAME [NSString stringWithFormat:@"File:%s\n", __FILE__] #define DEBUGLOG_LINE [NSString stringWithFormat:@"Line:%d\n", __LINE__] #ifdef DEBUGLOG #define DEBUGLOG_STRING [NSString stringWithFormat:@"%@%@", DEBUGLOG_FILENAME, DEBUGLOG_LINE] #else #define DEB

    [iOS]NSLogの出力を切り分ける
  • [iOS]UIScrollViewでエンドレスなスライドを作る

    iOS担当の川口です。 今回はUIScrollViewを使ってエンドレスなスライドを作る方法を紹介します。 例えば3枚の画像をエンドレスにスライドさせたい場合、1ページ目に最後の画像、最後のページ(この場合5ページ目)に最初の画像を置きます。 #define WIDTH_OF_SCROLL 320 #define HEIGHT_OF_SCROLL 240 #define WIDTH_OF_IMAGE 320 #define HEIGHT_OF_IMAGE 240 CGRect scrollFrame = CGRectZero; scrollFrame.size.width = WIDTH_OF_SCROLL; scrollFrame.size.height = HEIGHT_OF_SCROLL; UIScrollView *scrollView = [[UIScrollView alloc

    [iOS]UIScrollViewでエンドレスなスライドを作る
  • [iOS] UITextFieldに単位をつける

    こんにちは、最近夏バテなのか生活リズムが危ないiOS担当の加島です。 今回はUITextFieldに単位をつけてみたいと思います。具体的には、 ↑こんな感じです。枠外につければいい?そんな事はどうでもいいのです。 まずUITextFieldのサブクラスを作ります。次に、インスタンス変数にUILabelとCGFloat、あとプロパティにNSStringを追加します。 @interface TanniTextField : UITextField { UILabel *tanniLabel; CGFloat changedWidth; } @property NSString *tanni; こんなん 次に実装ファイルのdrawRect:メソッドのコメントアウトを外し、以下のように書きます。 - (void)drawRect:(CGRect)rect { // 無駄にaddSubviewしない

    [iOS] UITextFieldに単位をつける
  • 1