しめ鯖日記

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

2016-04-01から1ヶ月間の記事一覧

SSHアクセスでPermission denied (publickey,gssapi-keyex,gssapi-with-mic).が出た時の対処法

アクセス先のサーバーで以下のようにパーミッションを変更したら解決しました。 最初は.sshフォルダもパーミッション変更が必要な事に気が付かず少し時間かかってしまいました。 chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

【Swift】アプリのBundleIDを取得する

iOS

以下のコードで取得できるようです。 Bundle.main.bundleIdentifier // → com.example.myapp

【CocoaPods】ライブラリ更新で [!] The `XXXXX.podspec` specification does not validate. エラーが出た時の原因

iOS

pod trunk pushでCocoaPodsライブラリのアップデートをしようとした時に表題のエラーが出た時の対処法です。 新バージョンに対応するgitのtagを更新していない可能性があるのでtagを付けてpushします。

Shoyuを使ってUITableViewをすっきり記述する

iOS

Shoyuというライブラリを使ってUITableViewを扱いやすくしました。 インストール インストールはCocoaPods経由で行います。 pod "Shoyu" 使い方 普通にUITableViewを使う場合、以下のような書き方になります。 class DetailViewController: UIViewController…

iPhoneアプリで動画再生 mobileplayer-iosを試してみる

iOS

mobileplayer-iosという動画再生ライブラリを試してみました。 github.com 動画ファイルを用意するだけで動画の再生ボタンやシークバー付きで動画再生ができます。 インストール方法 例の如くCocoaPodsを使います。 pod "MobilePlayer" 使い方 MobilePlayerV…

【iOS】アプリのチュートリアルにぴったりなGeccoを試してみる

iOS

会社の同僚の作ったGeccoというライブラリを試してみます。 GitHub - yukiasai/Gecco: Simply highlight items for your tutorial walkthrough, written in Swift 画面の説明を簡単に実装する事ができます。 導入方法 CocoaPodsとCarthageの両方に対応してい…

【iPhoneアプリ】Swiftで音声読み上げをやってみる

iOS

Swiftで音声を読み上げる方法を調べてみました。 まずはAvFoundationを導入します。 以下で音声読み上げをしてくれます。 import AVFoundation let synthesizer = AVSpeechSynthesizer() let utterance = AVSpeechUtterance(string: "こんにちわ") synthesiz…

iPhoneアプリのパーフォーマンスのテストを書く

iOS

Xcodeでメソッドのパフォーマンスを測定する方法です。 以下のようにXCTestのmeasureBlockを使うと測定できます。 import XCTest class PerformanceTest: XCTestCase { func testPerformance() { measureBlock { // 何かの処理 } } } 実行するとこのように実…

Octopressでブログを作ってみる

OctopressというRuby版のWordpressのようなものを試してみました。 マークダウンのサポート、DBを使わないのでGitで全てバージョン管理できるいうメリットがあります。 Octopress Documentation - Octopress セットアップ セットアップは以下の通りです。 gi…

iPhoneシミュレータで画面シェイクのイベントを発生させる

iOS

メニューの「Hardware」の「Shake Gesture」を押下すればイベントが発生します。

HubotでSlack用のBotを作る

まずは必要なツールをインストールします。 brew install npm npm install -g hubot coffee-script yo generator-hubot 次に以下コマンドでプロジェクトを作成します。 質問は全てデフォルトを選択(Enter押下)しました。 mkdir -p test_bot cd test_bot yo h…

Storyboardの扱いを楽にするResourceKitを試してみる

iOS

同僚の作ったライブラリ、ResourceKitを試してみました。 GitHub - bannzai/ResourceKit: Enable autocomplete use resources in swift project. 使い方はこちらの記事も詳しいです。 まだハードコードで消耗してるの? ResourceKitで安全コーディング! - Q…

Fluxアーキテクチャについて調べてみた

Fluxアーキテクチャについて調べてみました。 Fluxアーキテクチャとは Githubの画像にあるようなアーキテクチャの事を指します。 長所としては、データの流れを1方向にする事で複雑さをなくしているところです。 github.com それぞれの概念について記述して…

青空文庫のソースコードを読んでみる

著作権切れの本を読める青空文庫ですが、実はサイトのコード及び本のデータはGithubに上がっています。 github.com index.htmlがサイトTOPのソースコードになります。 書籍のデータはcards以下のfilesフォルダの中に入っているようです。

Foundationフレームワークのコードを読んで見る

iOS

Swiftオープンソース化の時に公開されたFoundationフレームワークのコードやREADMEを読んでみました。 github.com GithubからコードをCloneすると以下のようになっているので、Foundation.xcworkspaceを開いてコードを見ました。 NSArrayやNSObjectのコード…

【Rails】acts_as_taggableで簡単にModelにタグ付けする

github.com いつものようにBundlerでインストールします。 gem 'acts-as-taggable-on' 以下のコマンドでDBのセットアップをします。 rake acts_as_taggable_on_engine:install:migrations rake db:migrate MySQLを使っている場合は更に以下コマンドを実行し…

【Ruby】Google AdsenseのAPIでAdmobの広告売上を取得する

■■■ 2021/08/18追記 AdSenseのAPIでAdMobデータで取得するのは非推奨になりました。 下URLを参考にAdMobのAPIへの移行をして下さい。 https://developers.google.com/admob/api/v1/migration ■■■ Admobのデータを取得する方法です。 まずはBundlerでgoogle-a…

`require': cannot load such file -- google/api_client (LoadError) エラーの対応

GoogleのAPIを使う時に表題のエラーが出た時の対応です。 GoogleAPIの仕様が変わったため'google/apis/{サービス毎の名前}で呼び出す必要があります。 # require 'google/api_client' require 'google/apis/adsense_v1_4'

GameKitというiOSのGameCenterを扱うライブラリでできること

iOS

GameKitでできる事を調べてみました。 できること ランキング機能 ユーザーのスコアをランキング形式で表示できます。 ユーザーの目標とそれに対する達成状況を保持する オンライン対戦用の基盤 リアルタイム対戦や順番の対戦のインフラを提供してくれます …

Xcode7.3でコード補完が超絶強化されてた件

iOS

Xcode7.3では補完機能が強化されていました。 下画像のようにdidSelectでtableView:didSelectRowAtIndexPath:が表示されるようになってくれました。 これで開発が大分楽になりそうです。 FuzzyAutocompleteなどのプラグインでも同様の事ができていたのですが…

【Unity】Wispy Skyboxを使ってきれいな空を表現する

まずはAssetStoreからインポートします。 メニューからWindow → Lightingを選択します。 SceneのSkyboxでMaterialを選択します。 先ほどインポートしたものがいくつかあるので、それのうち1つを選択します。 これで綺麗な空を表現できました。

Railsでベーシック認証をかける

authenticate_or_request_with_http_basicメソッドを使うと実現できます。 class ApplicationController < ActionController::Base before_action do authenticate_or_request_with_http_basic do |user, password| user == "admin" && password == "passwor…

Heroku+Hubot+Slackで「ERROR Not enough parameters provided. I need a token, rooms and account」エラーが出る時の対処法

Procfileのコマンドが間違ってる可能性があります。 Procfileファイルのコマンドをbin/hubot -a campfireからbin/hubot -a slackに直してください。

GoogleAnalyticsのユーザーエクスプローラーを見てみる

最近出たばかりのユーザーエクスプローラーというGoogleAnalyticsの機能を使ってみました。 PCサイト WEBサイトのユーザーエクスプローラーにはこのようにユーザー毎のセッション数や直帰率を見る事ができます。 個別のページに行くと、このユーザーがどうい…

iPhoneアプリ開発自動化の為にxcodebuildを使ってみる

iOS

コマンドからiPhoneアプリをビルドできるxcodebuildを使ってみました。 ひとまずMyAppというプロジェクトを作ってそのルートフォルダでxcodebuildを実行してみました。 そうしたらbuildフォルダにビルド結果が作成されていました。 この中にあるAppファイル…

RealmSwiftの[RLMSchema setObjectSchema:]でEXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000000エラーが起きた時の対処

iOS

iOS8のマイグレーションでタイトルのエラーが出てたのですが、RealmSwiftを0.98.6に上げたら直りました。 元々使っていたバージョン0.96.2に何か問題があったようです。

NSLayoutAnchorでAutoLayoutを簡単に実装

iOS

iOS9から出たNSLayoutAnchorを使うとソースコード上でのAutoLayoutの設定が簡単にできます。 NSLayoutAnchorを使ってみる 例えば画面上に、上下左右Margin10pxのビューを表示したい場合は下のように記述します。 trailingAnchorとbottomAnchorは-10を入れる…

UIWebViewで表示してるページのファビコンを取得する

iOS

このようにUIWebView上の画面のファビコンを取得する方法を書きます。 ファビコンはGoogleの提供しているAPIを使うと簡単に習得できます。 以下のようにパラメータにドメインを渡せば、そのドメインのファビコンを取ることができます。 https://www.google.c…

iPhoneアプリのステータスバーのテキスト色を白くする

iOS

いつも忘れるのでメモ。 文字色を白にする方法です。 まずはInfo.plistのView controller-based status bar appearanceというプロパティーをNOにします。 次に同じくInfo.plistのStatus bar styleをOpaque black styleにすれば完了です。 追記 Opaque black …

SceneKitで3DのiPhoneゲームを作ってみる

iOS

3Dゲームを作れるフレームワーク、SceneKitを試してみました。 iPhoneの2Dゲーム用フレームワークのSpriteKitに近いものだと思えば良さそうです。 使い方 まずはプロジェクトの新規作成でGameを選びます。 プルダウンでSceneKitを選択します。 作成したプロ…