てくてくテック

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

iOS

サンプル勉強会 1-1 ソースコードリーディング

はじめに 前回お話ししたiPhoneアプリのサンプル集を用いた勉強会について記します。今回は、シンプルでコード量の少なそうなForceSketchを題材にソースコードリーディングをします。 勉強会の進め方 ソースコードリーディングフェーズ(1h)と共有フェーズ(0.…

Viewを出したり消したりしたい

ゲームの設定画面を作りたい はじめに こんにちは、takenoteです。 今回もボードゲームのアプリを作成してみながらSwiftの勉強をしていきます。 どこから手をつけていいものかわかりませんが、 とりあえずゲームプレイ前の初期設定画面の作成を試みます。 今…

ゴキブリポーカーでSwiftの練習

とりあえず挨拶回です はじめに こんにちは、takenoteです。toosaaのマブダチです。 最近toosaaと一緒(?)にSwiftの勉強のためにボードゲームを作っています。基本的にProgramingは初心者、かつ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から取得"と"インストール数の取得"のサンプルを実装しようと思います。最終的な実装とはちょっと違いますが基本は同じで…

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にした時にというお話をしているのに、実際に移行する時の話をしていないなと思ったので、超簡単に手順をまとめます。 …

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

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