しめ鯖日記

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

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

iPhoneアプリのローカライズに便利なXcodeプラグイン 「Lin」 を試してみた

iOS

iPhoneアプリのゲームのローカライズをする時にLinというXcodeプラグインが良かったので書いてみます。 できる事 NSLocalizedString内の文字列入力の補完 NSLocalizedStringのキーに対応する各言語の文字列をポップアップ表示 感想 NSLocalizedStringを使う…

no such module 'Cocoa' と出た時の対処法(Swift)

iOS

import Cocoaをimport Foundationかimport UIKitに変えます。 CocoaはMacアプリ用のモジュールなのでiPhoneアプリでimportするとエラーになります。 新規にファイルを作る際にOS Xを選ぶとこのエラーに遭遇します。

iPhoneアプリ自動テスト入門 ~ XCTest+Swiftの単体テストを調べてみた

iOS

XCTestとは iPhoneの単体テスト用のフレームワークです。 Xcodeでプロジェクトを生成した時にデフォルトで生成されます。 XCTestの使い方 テストの場所 ナビゲーターを見ると、プロジェクト名+Testsというグループが作られている事が分かります。 テストはこ…

友人とアプリを作った話とプロジェクトを完走させる為に意識した事

iOS

先日「にゃんこダイブ」というiPhoneアプリをリリースしました。 友人のデザイナーさんと作ったのですが、開発がうまく行く為に意識した事とか開発の流れとかを書いてみたいと思います。 にゃんこダイブ - 白猫と黒猫のかわいいシンプルねこゲームhiroki sug…

CarthageというiPhoneのライブラリ管理システムを試してみる (CocoaPodsみたいなシステム)

iOS

Carthageとは Carthageの読み方 カルダゴと読むようです。 なんでもローマに滅ぼされた古代都市だとか。 Carthageの特徴 Githubは下のURLになります。 Differences between Carthage and CocoaPodsを読んだ所CocoaPodsよりもシンプルな所が特徴なようです。 …

Cocos2d-luaで四角を記述する方法

下のように書きます。 nodeを生成してそれのdrawPolygonを呼びます。 local node = cc.DrawNode:create() local points = { cc.p(0, 0), cc.p(20, 0), cc.p(20, 20), cc.p(0, 20) } local color = cc.c4b(51, 51, 51, 1) node:drawPolygon(points, table.get…

iPhoneアプリのレビューを受け付けている媒体とURL一覧 (2015/6/8時点)

iOS

媒体一覧 サイト名(敬称略) レビュー依頼URL AppBank http://www.appbank.net/2011/08/01/iphone-news/282433.php meeti http://i.meet-i.com/ iPhone女子部 http://www.iphonejoshibu.com/info/ techjo http://www.techjo.jp/press/ iPad iPhone Wire http:…

SwiftでObjective-cのマクロのような事を実現する

iOS

Swiftで擬似マクロ Swiftファイルではマクロを定義する事ができません。 同様の事をしたい場合は下のようにclassの外に変数を定義します。 もちろん他のSwiftファイルからも参照できます。 グローバル変数となるのであまり使いたくないですが。 let MACRO = …

iPhoneアプリ申請で ERROR ITMS-90072: "The IPA is invalid It does not include a Payload directory." ってエラーが出た時の対処法

iOS

info.plistにApplication requires iPhone environmentってプロパティーを追加してそれの値をYESにしたら解消しました。 この現象はCocos2dで作ったプロジェクトで発生。 Application requires iPhone environmentはiOSでのみで動かす設定のようです。

Cocos2d-x v3 Luaで円を生成する方法

円の生成は下のように行います。 ccとはcocos2dが作ってくれる変数です。 function MainScene:onCreate() -- ball local drawNode = cc.DrawNode:create() drawNode:drawDot(cc.p(40, 40), 20, cc.c4f(102/255, 102/255, 102/255, 1)) self:addChild(drawNod…

今からiPhoneアプリを作るなら Swift or Objective-c のどっち?

iOS

今後iPhoneアプリを作るなら Swift と Objective-c のどっちを使った方が良いかという記事です。 まだSwift歴3ヶ月程度で知らない事ばかりですが現状思っている事を書いてみます。 Swift or Objective-c のどっちがいいか プログラミング経験あるならSwiftが…

Objective-cプロジェクトの一部をSwift化した話

iOS

Objective-cで書かれたプロジェクトの一部をSwift化した作業メモです。 やった事 SettingViewControllerというクラスをObjective-cからSwiftに変更しました。 プロジェクトは全てObjective-cで書かれています。 Swift化の手順 手順は下の通りです。 思ったよ…

Swift2.0のdeferを詳しく調べてみた

iOS

Swift2.0で追加されたdeferについて詳しく調べてみました。 deferは下記事でも少し触れています。 www.cl9.info deferとは defer {…}と書くと、そのブロックを抜ける時に{}内の処理が走るという構文です。 下のように書いた場合、1が出力された後に2が出力さ…

Swift2.0で追加された Optional Pattern を試してみる

iOS

Swift2.0で追加されたOptional Patternを試してみました。 Optional Patternはif let a = b {}の構文に似ていてnil判定に関する構文です。 使い方は下の通りです。 let optionalValue: Int? = nil if case let value? = optionalValue { print(value) // opt…

Swift2.0で追加された try, do-catch, defer を試してみる

iOS

do-catch構文の基本的な使い方は下の通りです。 ErrorTypeを使った独自エラーを作り、独自エラーのthrowとcatchをする事ができます。 enum MyError: ErrorType { case Error1 case Error2 } do { let a: Int? = nil if (a == nil) { throw MyError.Error1 } …

Swift2.0で追加されたrepeat-whileを触ってみた

iOS

repeat-whileは下の通りです。 他の言語のdo-whileと全く同じです。 var i = 0 repeat { print(i) i++ } while i < 10 逆にSwift1系で使えたdo-while構文は使えなくなってました。 var i = 0 do { print(i) i++ } while i < 10 詳解 Swift作者: 荻原剛志出版…

iOSアプリ開発でGoogleAnalyticsのクラレポを使おうと思ったけど結局Crashlyticsに戻った話

iOS

この前GoogleAnalytics見ていた時に「クラッシュと例外」という文字を発見! ついにGoogleAnalyticsでクラッシュ情報も管理できるのか!! と思い早速試しました。 レポート画面は下の通り。 バージョン毎のクラッシュを管理してくれそうな感じがあります。 バ…

Swift2.0で追加されたguard statementを試してみる

iOS

Swiftの今回のバージョンから追加されたguard statementを試してみました。 基本的な使い方は下の通りです。 guardとelseをセットで使います。 この例のように、変数がnilだった場合はブロック内に入ります。 ブロックの中ではreturnを書かないとエラーにな…

Swift2.0で追加されたprotocol extensionsを試してみる

iOS

Swift2.0で追加されたprotocol extensionsを試してみたのでそのメモです。 protocol extensionsとは プロトコルにメソッドを追加できる機能です。 下のようにextensionを使ってprotocolにメソッドを追加します。 protocol MyProtocol { func aaa() } extensi…

Swift2.0の変更点

iOS

Swiftの公式本「The Swift Programming Language (Swift 2 Prerelease)」を参考に2.0の変更点を調べてみました。 全部は調べきれなかったので分かる範囲まで。 Swift2.0の変更点 Error Handling 他言語におけるtry-catch構文が追加されました。 エラーはErro…

Lua 概要

Cocos2dの勉強でLuaを触り始めたので概要をまとめてみました。 特徴 スクリプト言語 軽量で高速 文字列 文字列は""か''で表します。 文字列連結は下のように..で実現できます。 "hello".."world" テーブル型 Luaには配列や連想配列がなく、代わりにテーブル…

Xcode 7.0 について調べてみた

iOS

新しいXcodeの新機能が公開されていたので少し調べてみました。 全部ではないのですが、面白そうな機能をまとめてみました。 New Features in Xcode 7developer.apple.com Swift2.0サポート 話題のSwift2.0がサポートされるようです。 大きな変更点は下の通…

RealmSwiftを試したけどもうCoreDataは使わなくなるかもしれない

iOS

RealmSwift試した感想とメモ書きです。 CRUDくらいしかやってないのですが使うのがすごい簡単すぎて感動したのでその辺り書いて行こうと思います。 利用したRealmのバージョンは0.93.1になります。 Realmとは SQLiteの代替になると言われているデータベース…

Cocos2d-xでゲーム作りの環境構築

Mac上でCocos2d-xのゲーム開発環境を作るまでのメモです。 Cocos2dとは Cocos2dとはゲーム作成フレームワークです。 簡単に言うとC++/Lua/JS等でゲームを作れてそれをiOS/Android等 複数環境向けに書き出せるものです。 Cocos2d-xとは別プロジェクトのようで…

Swiftで学ぶデザインパターン7 (Memento パターン)

iOS

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

Swiftで学ぶデザインパターン6 (Iterator パターン)

iOS

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

Xcode上でgit blame

iOS

2020/6/10追記 Xcode11ではエディタ右上のAuthorsを押す事で見れるようになりました。 旧Xcodeでの方法 メニューの「View」「Version Editor」「Show Blame View」から見ることができます。 エディタ上の表示は下のようになります。 更にInfoマークでそのコ…

Swiftで学ぶデザインパターン5 (Prototype パターン)

iOS

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

Swiftで学ぶデザインパターン4 (Template Method パターン)

iOS

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