しめ鯖日記

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

2015-07-01から1ヶ月間の記事一覧

Swiftではdeallocがなくなってdeinitが導入されていた

iOS

initで設定したNSNotificationの解除をどこでやる際にdeallocがない事に気がついたのでその事をメモ。 Swiftではdeallocでなくdeinitを使います。 class A { init() { print("init") } deinit { print("deinit") } } var a = A() a = A() deinitを書く時は括…

Storyboard上でUILabelの一部をリンクっぽいデザインにしてみる

iOS

UILabelの文字色を変えてみる 一部の文字色を変えてみました。 設定する際はTextをPlainからAttributedに変える必要があります。 文字色は通常のUILabelの文字色設定する箇所ではなく画面上部の設定から変えます。 下線を付けてみる フォント選択画面から一…

iPhoneアプリ開発でデバッグ版とリリース版をきれいに同居させる

iOS

リリース済のアプリを開発する際、AppStoreから入れたアプリを上書きしてしまう問題の解決策です。 普段使いしているアプリの場合、開発用で上書きされるのは少しめんどくさいです。 今回はその回避策を書いてみます。 debugビルドとreleaseビルドでbundle i…

【iPhoneアプリ開発】AppStore用スクリーンショットを省力で制作

iOS

AppStoreに載せるiPhoneアプリ用スクリーンショットですが、iPhone4・iPhone5・iPhone6・iPhone6 plus向けに作る必要があります。 「開発がようやく完了!」ってタイミングでその作業が残ってると結構つらみがあったりします。 最近その辺を効率的により良く…

Unityで簡単データ保存できるPlayerPrefsを試してみた

Unityのデータ保存クラスのPlayerPrefsを試してみました。 iPhoneのUserDefaultsに近いもののです。 PlayerPrefsの使い方 下のようにGetとSetを呼ぶだけで保存・取得ができます。 この例でも次回起動時に11が保存されている事を確認できました。 function St…

Humpback Whaleを使ってUnityでクジラを海で泳がせる

今回はHumpback WhaleというAssetを使ってクジラを海で泳がせる事をやってみました。 Humpback Whaleのインストール こちらはいつものようにAsset storeで検索してインポートします。 クジラを表示する インポートするとAssetsの中にHumpback whaleが追加さ…

Unityの爆発AssetのDetonatorを使ってみた

Unityであらゆる物を爆発させるDetonatorというAssetを試してみました。 Detonatorのインストール Unityのプロジェクトでcmd+9でasset storeを起動してDetonatorをインポートすれば完了です。 途中でAPIを新しくするか聞かれるので「はい」と答えます。 この…

UITableViewCellをアニメーション付きでサイズ変更する方法

iOS

UITableViewCellのサイズをアニメーション付きで変える実装したのでそのことを書いてみます。 UITableViewCellをアニメーション付きで伸縮する 下のようにheightForRowAtIndexPathで返す値を変更してあげればアニメーション付きで伸縮します。 tableView.beg…

StoryboardのUILabelの行間の空け方

iOS

NSAttributedStringを使って行間をコントロールします。 まずは下のTextのプルダウンでAttributedを選びます。 そのあとSpacingを設定すれば行間の調整ができます。 Min heightとMax heightの指定でもできますが、こちらはフォントサイズ変更された時に行間…

SwiftでNSProxyを使った開発ができなくなってた

iOS

下記事で紹介したライブラリのSwift版を作りたかったけど挫折した話です。 このライブラリではNSProxyを使ってるんですがSwiftではできなくなっている事があって実装できませんでした。 www.cl9.info 上ライブラリでできる事 @interface SampleDefaults : LK…

UnityにAdmobを入れてAndroid端末で動かそうとしたらアプリが表示されない場合の対処法

タイトルの通り、Android端末にインストールしたけどホームにもアプリ一覧にも表示されなかった時の対応方法です。 結論としてはAdmobのプラグインに入ってたAndroidManifest.xmlに下コードを追加すれば見れるようになりました。 Androidアプリの開発経験不…

Swiftで学ぶデザインパターン14 (Chain of Responsibilityパターン)

iOS

今回はChain of Responsibilityパターンについて書いていきます。 デザインパターンとは デザインパターンとはソフトウェア開発の設計方法の事です。 『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターン…

UnityにAdmob導入時に"Theme.IAPTheme"がないと言われた時の対処法

UnityにAdmobを入れようとしたのですがAndroid版ビルド時に下記エラーが出たので調査内容と対応方法をメモ。 エラー内容 内容は下の通りです。 Error building Player: CommandInvokationFailure: Failed to re-package resources. See the Console for deta…

Swiftで学ぶデザインパターン13 (Compositeパターン)

iOS

今回はCompositeパターンについて書いていきます。 デザインパターンとは デザインパターンとはソフトウェア開発の設計方法の事です。 『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されてい…

Swiftで学ぶデザインパターン12 (Abstract Factoryパターン)

iOS

今回はAbstract Factoryパターンについて書いていきます。 デザインパターンとは デザインパターンとはソフトウェア開発の設計方法の事です。 『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介さ…

StoryboardのUIViewをドラッグ&ドロップで別UIViewに移す時に真ん中に移動する現象の回避方法

iOS

少しハマったのでメモ。 会社の人に助けてもらいました。 やりたい事は「この3つのラベルを右側のUIViewの中に移動する」という事です。 けど普通にドラッグ&ドロップすると全部のラベルのx,yが真ん中に移動します。 再び間隔の調整するのは大変なのでこれを…

Swiftで学ぶデザインパターン11 (Strategyパターン)

iOS

今回はStrategyパターンについて書いていきます。 デザインパターンとは デザインパターンとはソフトウェア開発の設計方法の事です。 『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されていま…

Swiftで学ぶデザインパターン10 (Visitorパターン)

iOS

今回はVisitorパターンについて書いていきます。 デザインパターンとは デザインパターンとはソフトウェア開発の設計方法の事です。 『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されていま…

Swiftではてなが2つ並ぶ構文について調べてみた

iOS

職場で下のような書き方を見かけたのでちょっと調べてみました。 "はてな 2つ"とかでググったのですがなかなか見つからず苦労しました。 let a = b ?? "" 結論を言うとnilガードです。 bがnilだったらaに空文字列を代入してくれるという構文です。 代入以外…

pchって拡張子のファイルとは何か調べてみた

iOS

先日Xcodeでpchって拡張子のファイルを見つけたので調べてみました。 pchとは pchは precompiled headerの略で、#defineや#importを書くためのファイルのようです。 Xcode5までは標準で付いていたのですがXcode6からは自分で追加する必要があるようです。 何…

Swiftで学ぶデザインパターン9 (Adapterパターン)

iOS

今回はAdapterパターンについて書いていきます。 デザインパターンとは デザインパターンとはソフトウェア開発の設計方法の事です。 『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されていま…

Swiftで学ぶデザインパターン8 (Stateパターン)

iOS

今回はStateパターンについて書いていきます。 デザインパターンとは デザインパターンとはソフトウェア開発の設計方法の事です。 『オブジェクト指向における再利用のためのデザインパターン』という本が出典で、全部で23種類のパターンが紹介されています…

Prediction APIという機械学習の為のAPIを提供するサービスを使ってみた

なんとなく機械学習楽しそうだと思ってGoogleのPrediction APIというものを試してみました。 今回は下のチュートリアルに沿って一通りのAPIを叩くって事をやってみました。 Prediction API入門(前編) - apps-gcpwww.apps-gcp.com Prediction APIでできる事…

SELinuxとは何かをゆるく理解する

SELinuxについて軽く調べてみました。 SELinuxとは Wikipediaによるとアメリカ国家安全保障局が提供しているLinux向けのモジュールのようです。 開発開始は1992年で、2000年一般公開、2003年にLinuxカーネル2.6に追加されました。 SELinuxの特徴 SELinuxを使…

Unityについて勉強 & アプリ制作

Unityとは 複数プラットフォーム向けのゲームエンジンです。 先日紹介したCocos2d-xと似たものになります。 Unityのインストール Unityは下ページからダウンロードできます。 Unity - ダウンロード Unityのライセンス Unityは基本的には無料で使う事ができま…

パーミッション777なのにnginx起動で nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (13: Permission denied) って出る

Itamaeを使っている時にnginxがどうしても動かなかったのでメモ。 現象 Itamaeでtemplateを使ってnginxの設定ファイルを読み込んだらnginxが起動しなくなりました。 エラーはnginx: [emerg] open() "/etc/nginx/nginx.conf" failed (13: Permission denied)…

Itamae入門した ~ Vagrantのサーバーにnginx入れるまで

Itamaeを使ってみたので使い方やインストール方法をメモ。 Itamaeとは @ryot_a_raiさんの制作したサーバー構成管理ツールです。 Chef-Soloをよりシンプルにしたようなツールです。 itamae-kitchen/itamaegithub.com インストール方法 gem install itamae Ita…

1.5ヶ月毎日ブログを書いた結果とか雑感

ブログもついに連続更新48日まで行ったので結果とか雑感をまとめてみたいと思います。 本当は1ヶ月の時点で書こうと思ってたのですが他の事書いてたら時間が経ってしまって1.5ヶ月という中途半端な数字になってしまいました。 どんな事を書いたか プログラミ…

JSONを扱いやすくするSwiftのライブラリ「swift-json」を試してみた

iOS

swift-jsonを使ってみたのでそのメモです。 swift-jsonとは あの有名な小飼弾さんの作ったSwiftライブラリで、JSONの扱いを楽にしてくれます。 400スター以上付いている人気ライブラリです。 swift-jsonのインストール swift-jsonはCocoaPodsに対応していな…

Cocos2d-x with luaを使ってゲームをリリースしました

先日、初めてCocos2d-xを使ったゲームをリリースしました。 今回はCocos2d-xの知見やCocos2d-xの感想を書いてみようと思います。 Avoiding Ball - ワンタップでできる簡単でシンプルな無料ゲームhiroki sugimotoゲーム無料 Cocos2d-xとは Cocos2d-xとはゲー…