しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

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

docker runで起動したコンテナを削除する

docker runで生成したコンテナの削除方法です。 まずは下コマンドでコンテナ一覧を表示します。 -aオプションを付けることで起動中でないコンテナも表示する事ができます。 docker ps -a 下のようにコンテナ一覧が出てきます。 最後にコンテナIDを指定してrm…

MacにDockerをインストールして起動する

今更ですがDockerを触ってみました。 Dockerのインストール Mac版のインストールはdocker storeから行います。 ページ右上の「Please Login To Download」ボタンからログインしてDockerをインストールします。 Docker Store DockerでHello World インストー…

imgToAsciiでAAを自動生成

imgToAsciiというJSのライブラリで画像をAA化してみました。 github.com 使い方 ライブラリはimgToAscii.jsの1ファイルのみで、100行くらいのシンプルなライブラリです。 <script src="./imgToAscii.js"></script> 下のように画像を指定してdisplayメソッドを呼び出すだけでAAを表示する事ができます…

Invalid Document Configuration. という警告が出たときの対処法

Xcodeで下のような警告が出たので調べてみました。 WARNING ITMS-90737: "Invalid Document Configuration. Document Based Apps should support either the Document Browser (UISupportsDocumentBrowser = YES) or implement Open In Place (LSSupportsOpe…

iOS12のショートカット アプリを使ってみる

iOS12のショートカットというアプリを使ってみました。 ショートカットとは 様々なiPhone上の行動を自動化できるアプリです。 「特定ワードをTwitterでつぶやく」「クリップボードの内容をメモ帳に入力する」など色々なことができます。 もともとはWorkflow…

Xcode10のStoryboardでUILabelやUIButtonを配置する方法とショートカット

Xcode10からオブジェクトを選ぶ場所が大きく変わってたのでメモ。 オブジェクトを選ぶ場合、Xcode上部の丸いアイコンをクリックします。 クリックするとオブジェクト一覧が出てくるので、ここからオブジェクトを選択します。 メニューから選択することもでき…

ロゴ生成サービス、Free Logo Generator Onlineを試してみる

こちらの記事で紹介されていたサービスを試してみました。 note.mu 今回は自分の運営している「体重管理アプリ」のロゴを作ってみます。 体重管理Fittで人気の体重管理ダイエットをhiroki sugimotoヘルスケア/フィットネス無料 使い方 TOPページは下の通り…

【Swift】VoiceOver対応について調べてみる

VoiceOverについて調べてまとめてみました。 VoiceOver(ボイスオーバー)とは VoiceOverとはiPhoneの視覚障害者の方向けの機能です。 画面を音声で読み上げることで画面が見えなくてもiPhoneを使うことができます。 VoiceOverをONにするとタップしたボタンやC…

RailsとCarrierWaveで画像アップロードを実装する

CarrierWaveというGemを使って画像のアップロードを実装しました。 今回はUserモデルのimageというプロパティーに画像をセットする実装をします。 github.com CarrierWaveのインストール CarrierWaveを入れる前にImageMagickをインストールします。 Macの場…

【iOS11】設定アプリ内にある自分のアプリの設定画面へ遷移する

iPhoneの設定アプリには、下のように自分のアプリの設定ページが用意されています。 今回はここへ直接遷移する方法について調べました。 自分のアプリの設定画面への遷移方法 遷移方法は下の通りです。 if let url = URL(string: UIApplicationOpenSettingsU…

Railsでcrontabを管理できるwheneverというGemを使ってみる

Railsを使っていると「日時バッチ」「1時間に一度の処理」など定期的に実行したいタスクが出てきます。 管理方法としては普通にcrontabに書き込んだりJenkinsなどを使ってそれらのタスクを管理する方法があります。 しかし可能ならRailsプロジェクト上で実行…

「アプリ開発のためのUX講座」まとめ

「アプリ開発のためのUX講座」という動画講座がとても面白かったので、学んだ事や感想をまとめてみました。 動画はSchooの有料会員限定ですが、資料は下URLから見る事ができます。 schoo.jp そもそもUXってなにか? 授業で初めて知ったんですが、実はUXはISO…

はてなブログの過去記事にカテゴリーを付ける

はてなブログの過去記事にカテゴリーが全然付いてなかったので付ける事にしました。 カテゴリーなしは百記事以上あるので少しでも楽になるように工夫しつつ実施しました。 まずはエントリー一覧ページに移動します。 https://blog.hatena.ne.jp/llcc/llcc.ha…

LAContextのbiometryTypeがnoneになる問題

iOS

LAContextクラスのbiometryTypeプロパティーを使うと端末が指紋認証に対応しているか顔認証(FaceID)に対応しているかを判定する事ができます。 LAContext().biometryType == .faceID LAContext().biometryType == .touchID LAContextのbiometryTypeで起こっ…

UnityでスクリプトからTexture2Dを読み込む(C#)

UnityでSpriteのTextureをスクリプトで動的に変更する方法です。 Textureの配置場所 読み取りたいTextureはResourcesフォルダに入れる必要があります。 詳しくは下ページのResourcesに載っていました。 docs.unity3d.com Textureの読み込み Textureの読み込…

はてなブログのSSL対応でカスタムシェアボタンが動かなくなった時の対策

タイトルの通り、はてなブログのSSL化でカスタムシェアボタンが動かなくなったので対策を書いていきます。 利用させて頂いたカスタムシェアボタンは下サイトのものです。 www.yukihy.com SSL化で発生した問題 下のようにはてブ数とFacebookのシェア数がずっ…

【アプリ開発】AppLaunchPadでアプリのスクショを作ってみる

iOS

AppLaunchPadというWEBサービスを試してみました。 theapplaunchpad.com これはAppStoreやGooglePlayに掲載するおしゃれなスクリーンショットを簡単に作れるものです。 有料限定のテンプレートも多いのですが、下のような画面を簡単に作る事ができます。 App…

UITableViewのprefetchDataSourceについて調べてみる

iOS

iOS10からUITableViewのprefetchDataSourceというプロパティーが追加されてたので調べてみました。 prefetchDataSourceとは prefetchDataSourceはUITableViewの高速化に使うプロパティーです。 下のようにUITableViewDataSourcePrefetchingに準拠したオブジ…

NokogiriのインストールでERROR: cannot discover where libxml2 is located on your system. please make sure `pkg-config` is installed.というエラーが出た時の対策

Nokogiriをインストール中に表題のエラーが出た時の対処法です。 メッセージは下の通りです。 current directory: /Users/xxxxxx/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/nokogiri-1.8.3/ext/nokogiri /Users/xxxxxx/.rbenv/versions/2.5.1/bin/rub…

【Swift】Dateの日付のみを扱う方法を考える

iOS

iOSアプリ開発ではDate型があるのですが、これは日付型のみを扱う事ができません。 そのため「RealmなどのDBから特定日付のレコードを取り出したい」という時に開始日と終了日を指定する必要があって結構めんどくさいです。 class History: Object { @objc d…

DOFavoriteButtonでアニメーション付きお気に入りボタンを実装する

iOS

DOFavoriteButtonというアニメーション付きのボタンを実装できるライブラリを試してみました。 github.com DOFavoriteButtonのインストール CocoaPodsでインストールしました。 本家はSwift4に対応してないようなので、fumiyasacさんのSwift4対応フォークリ…

【iOS】CMSampleBufferGetImageBufferがnilを返す時の対処法

iOS

AVFoundationを使うと端末のカメラで撮っている映像をUIImageとして取得する事ができます。 その際にCMSampleBufferGetImageBufferというメソッドを使うんですが、これがnilを返した時の対処法です。 func captureOutput(_ output: AVCaptureOutput, didDrop…

C#のプロパティーの書き方

基本的なところですがC#のプロパティーの書き方について調べました。 プロパティーは下のように2種類の書き方があります。 class MyClass { public int myProperty1 = 0; public int myProperty2 { get { return 0; } set { int myValue = value; } } } それ…

UnityのUpdateとFixedUpdateの違いを確認する

Unityのフレーム毎に呼ばれる関数はUpdateとFixedUpdateがあります。 今回はこの2つの違いを確かめてみます。 UpdateとFixedUpdateの違い 2つはFixedUpdateは1秒間あたりの呼び出し回数が固定、Updateは端末の状態によって変わることがあるという違いがあり…

LICEcap for Macで画面が真っ黒になるのでGIPHYに乗り換えた

LICEcapで作られるGifが下のように真っ黒になる現象に遭遇しました。 再インストールしても直らないのでGIPHYというアプリに乗り換えました。 GIPHY Capture. The GIF MakerGiphy, Inc.VideoFree GIPHYとは GIPHYはおもしろGifをアップロードするサービスで…

【C#】UnityのEnumを変数化した時に is less accessible than field エラーが出たとき対策

下のようなコードでis less accessible than fieldエラーで出た時の対処法です。 enum GameType { Type1, Type2 }; public class MyScript : MonoBehaviour { public static GameType gameType = GameType.Type1; } enumがpublicでないことが原因だったので…

CASpringAnimationでバネのようなアニメーションをお手軽実装

iOS

CASpringAnimationというクラスを使ってバネのようなアニメーションを実装してみました。 まずは画面上にアニメーションさせたいViewをセットします。 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidL…

本レビュー: 「思わず買ってしまう」心のスイッチを見つけるための インサイト実践トレーニング

アプリの企画力アップの為に読んでみました。 「思わず買ってしまう」心のスイッチを見つけるための インサイト実践トレーニング作者: 桶谷功出版社/メーカー: ダイヤモンド社発売日: 2008/10/18メディア: 単行本購入: 12人 クリック: 32回この商品を含むブ…

AVAudioEngineで複数音源を合成して再生

iOS

AVAudioEngineを使って複数のmp3音源を同時再生する実装を試してみました。 プロジェクトを作ったら、再生したい音をプロジェクトに追加します。 今回はドとミの音を追加しました。 まずは単一の音源を再生します。 再生はAVAudioPlayerNodeを使って行います…

rbenv installでconfigure: error: C compiler cannot create executablesが出た時の対処法

rbenv install 2.5.1をした時に下エラーが発生しました。 環境はMacのHigh Sierraです。 BUILD FAILED (OS X 10.13.4 using ruby-build 20180424) Inspect or clean up the working tree at /var/folders/d3/wr7y5r3j0jn_y6q0p1524pnr0000gp/T/ruby-build.20…