読者です 読者をやめる 読者になる 読者になる

てくてくテック

気ままに開発のメモを書いていこうと思います。主にSwiftかと。

技術

youtube-ios-player-helperで再生できないことがある

はじめに youtube の動画でたまに再生されないものがあったので、それについてのお話 現象 youtube-ios-player-helperを使ってyoutubeの動画再生していました。 大半の動画は再生されるのですが、一部の動画(ex. ID: A_bdeYlpasE)で再生されませんでした。 …

Reporterを使ってiTunes ConnectのSales and Trendsを自動で取得する - 解析編

はじめに 今回はReporterを使ってiTunes ConnectのSales and Trendsを自動で取得する - 設計編におけるdaily reportの"iTunes Connectから取得"と"インストール数の取得"のサンプルを実装しようと思います。最終的な実装とはちょっと違いますが基本は同じで…

SpreadsheetをRubyで操作する

google_driveというgemを利用したGoogle SpreadsheetとRubyの連携について書きます。

Reporterを使ってiTunes ConnectのSales and Trendsを自動で取得する - 設計編

はじめに Reporterを使ってiTunes ConnectのSales and Trendsを自動で取得するでReporterを使ってみてAppleが提供するレポートファイルのダウンロードするところまでお話をしました。今回は、ダウンロードするだけでなく数値データを取得してどのように自動…

Swift3でのclosure

はじめに Swift3にした時にclousureの部分の書き方が変わっていたなーというメモです 変更点 非同期の時は@escapingをつける Swift2まではデフォルトが@escapingの状態で@noescapeにする際に明示的に@noescapeにするという文法だったのに、Swift3から逆転し…

NavigationbarをHiddenじゃなくて透明にする

はじめに NavigationbarをHiddenにして消すのではなく、タイトルやボタンは表示するがNavigationbarはあくまで透明としたい時があります(下図参照)。単純にBar TintをclearColorに変更するとなぜか黒くなります。今回は、下図のようにNavigationbarを透明に…

Reporterを使ってiTunes ConnectのSales and Trendsを自動で取得する

はじめに iOSアプリのインストール数はiTunes ConnectのWebページに行ってデータを見るかエクスポートすれば確認することができます。 しかし、いちいちWebページにアクセスして確認するのは面倒なので、プログラムで自動化しちゃおうというお話です。今回は…

Swift3 jsonをローカルから読み込む

はじめに apiと実際につなぐ前にダミーデータで実装するときなどに jsonファイルをローカルに保存しておいてそこから読み込む ということをしたくなった時のお話です 利用するライブラリ SwiftyJsonを使ってます。 2016年10月26日の時点では本家でもSwift3対…

Swift3(というかXcode8)にしたらPush通知が動かなかった

はじめに Swift3にあげたら(というより多分Xcode8にしたら)Push通知が動かなかった時のお話です。 状況 Xcode7で作っていた時はPush通知は動いていたのに、 Xcode8にあげたらPush通知が届かなくなりました。 調べてみるとDevice Tokenが取得できていないよう…

Alamofire(非同期通信)をsemaphoreで同期的に処理できなかった

はじめに Alamofireでapi通信する際に、同期的に処理したくなったためSemaphoreを使ってやってみたけどうまくいかなかった時のお話です。 Semaphoreとは Semaphoreは排他制御の仕組みのことで、リソースへのアクセス可能な数のことです。Semaphoreが0の状態…

Swift3のGCD(dispatch_async)

はじめに Swift3でのGCD(dispatch_async)の使い方が変わっていたのでメモメモ Grand Central Dispatch(GCD)とは タスクを非同期に実行する技術のひとつとして、Grand CentralDispatch(GCD)というものがありま す。通常はアプリケーション中に記述するスレ…

Swift3対応した時の手順

はじめに 過去の記事(Swift3でPush通知から起動の時の、userinfo取得でちょっと迷った、Swift3にしたらAnyObjectがAnyになった)でSwift3にした時にというお話をしているのに、実際に移行する時の話をしていないなと思ったので、超簡単に手順をまとめます。 …

Google AnalyticsのDAUデータをスプレッドシートに自動インポートして、さらにSlackに通知する

はじめに 無料で簡単に使えるWebアクセスツールとしてGoogle Analyticsを利用している人は多いと思います。 Google Analyticsのページを見るだけでも色々なデータを見ることができて楽しいのですが、どうしてもエクセルやスプレッドシートなどの表計算ソフト…

GASからIncoming Webhooksでslackに通知を投げる

はじめに 最近はほとんどの開発でslack使ってますね。 その際に色々なことを自動化してその結果をslackに通知したくなる時があります。 今回は、Google Apps Script(GAS)からslackに Incoming Webhooksを用いて通知を投げるコードについてお話しします。 Inc…

PageViewControllerでNavigationbar(またはStatusbar)の高さ分ずれる

はじめに PageViewControllerを使っていて、なぜか遷移した直後の画面でNavigationbarかStatusbar分高さがずれるという現象に出会ったので そのことについて記します。 現象 PageViewControllerを利用した画面にUINavigationbarからpushViewControllerした際…

Swift3でPush通知から起動の時の、userinfo取得でちょっと迷った

はじめに Swift2.2からSwift3に移行する際に少し詰まった事をメモします。 アプリがキルされている状態からPush通知で起動した時にuserinfoを取得する際のObjectの型宣言をどうするのか?というお話です。 詰まった内容 そもそも実装したい内容 Push通知から…

Swift3にしたらAnyObjectがAnyになった

はじめに Swift2.2で作っていたプロジェクトをSwift3に対応させるために Xcode8についている自動コンバートを利用してみたところ AnyObject型がAnyに変更されました。 このことについて少し調べたことをまとめます。 どんな風に変わっていたのか? AppDelega…