SwitfyJSON を iOS 8.3 & Xcode 6.3 で使う手順

Xcode6.3がリリースされたので早速アップデートしたらSwiftyJSONとAlamofireがエラーになってしまった。Xcode6.3でのSwiftyJSONとAlamofireのセットアップ方法をメモしておく。
Alamofireは1.2でXcode6.3対応が完了していますので、バージョンを指定してあげます。
pod ‘Alamofire’, ‘~> 1.2.0’
SwiftyJSONはブランチ「xcode6.3」にて対応されていますのでこちらを取得するように変更します。
pod ‘SwiftyJSON’, :git => ‘https://github.com/SwiftyJSON/SwiftyJSON.git’, :branch => ‘xcode6.3’
 

# sudo gem install cocoapods -v '>=0.36'
# pod --version
0.36.4
# pod init
# vi Podfile
# cat Podfile
# Uncomment this line to define a global platform for your project
# platform :ios, '6.0'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.2'
use_frameworks!
# for Xcode6.3
pod 'Alamofire', '~> 1.2.0'
# for Xcode6.2
#pod 'Alamofire', :git => "https://github.com/mrackwitz/Alamofire.git", :branch => "podspec"
# for Xcode6.2
#pod ‘SwiftyJSON’, ‘>= 2.1.3’
#pod 'SwiftyJSON', :git => "https://github.com/orta/SwiftyJSON", :branch => "podspec"
# for Xcode6.3
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode6.3'
#pod 'Spring', '~> 1.0.3'
target 'ProjectName' do
end
target 'ProjectNameTests' do
end
# pod install
# open ProjectName.xcworkspace

XcodeでCFBundleVersionを自動インクリメントする

Identitiy
Version(CFBundleShortVersionString)をx.y.zの形式にします。
Build(CFBundleVersion)をx.y.z.aの形式にしてaを自動インクリメントする設定を説明します。
まず、バージョンとビルドは上の画像のように設定しておきます。
次に、プロジェクトを選択し「Build Phases」を「+」を押して「New Run Script Build Phase」を追加します。
次のシェルスクリプトを入力します。
[shell]
versionNumber=$(/usr/libexec/PlistBuddy -c “Print CFBundleShortVersionString” ${PROJECT_DIR}/${PROJECT_NAME}/${PROJECT_NAME}-Info.plist)
buildNumber=$(/usr/libexec/PlistBuddy -c “Print CFBundleVersion” ${PROJECT_DIR}/${PROJECT_NAME}/${PROJECT_NAME}-Info.plist)
ifsback =$IFS
IFS=’.’
set — $buildNumber
buildNumberInc=$(($4 + 1))
newBuildNumber=”${versionNumber}.${buildNumberInc}”
IFS=$ifsback
/usr/libexec/PlistBuddy -c “Set :CFBundleVersion $newBuildNumber” ${PROJECT_DIR}/${PROJECT_NAME}/${PROJECT_NAME}-Info.plist
[/shell]
以上。
あとはビルドする度に自動で番号が増えていきます。

米Google、JavaコードをObjective-Cに変換するツール「J2ObjC」を公開

@ITの記事によると、JavaコードをObjective-Cに変換するツールをGoogleが公開したそうです。UIの変換は出来ないようですがビジネスロジック部分はJavaで書いてそのままXcodeのプロジェクトに入れておくことが出来るとか。AndroidとiOSでビジネスロジックを共有化することが出来るかもしれません。今後要チェックですね。
@ITの記事 http://www.atmarkit.co.jp/news/201209/18/j2objc.html

Google カレンダーAPIを理解する

GoogleカレンダーAPIを早急に理解する必要が発生しました。
GoogleカレンダーAPIとは
新規イベント作成や修正、削除、イベントの削除などの機能を持ったカレンダーアプリケーションを開発することができます。
RESTfullスタイルの呼び出しで色々な言語(currently Java, Python, PHP, .NET and Ruby)からGoogleカレンダーのデータを参照・修正することができます。
(RESTfullとはパラメータ指定でHTTPアクセスするとXMLで記述されたメッセージが送られてくるようなインタフェースの事です。)
“Google カレンダーAPIを理解する” の続きを読む

CamiAppのデータ全消去バグに注意!安易にiOS5にアップデートしてはダメ

iOS5アップデートするとデータが全消去されるという神アプリが発見されました。その名もCamiApp。

昨日iOS5にアップデート。本日CamiAppを開くと、すべての画像が消えています!
最低、最悪なアプリですね、CamiApp。お願い、データを返して欲しい。
サポートに電話してなんとか復旧できないかと問いただしたところ、「できない、完全に消えている」とのつれないお言葉。とほほ。
なんでこんなことになったのか聞いたところ「iOS5になってから、保存場所が変わったため」などという説明。なら他のアプリも同様の現象に見舞われてるんじゃないですか?でも他のアプリはちゃんとデータ引継ぎできてるよ?言い訳するにももっとマシな言い訳しなよコクヨさん。
大企業のアプリと思って安心していたのに、全データ消去とは、残念です。
また、、CamiAppには一括バックアップする機能なども無いので、全消去に備えて一括バックアップする手立てはないと言われました。打つ手なし。こんないつ全データ消失するかわからないようなアプリにデータ保存するきにはなれないですね。もうノートも使いません。

LionにXcode3をインストールする

LionはXcode3非推奨となってしまいましたので、Xcode3のインストールが出来ません。
インストーラーをダウンロードして、起動してみても、肝心のXcode Toolsがインストールされない状況になっております。
Xcode4を使いつつ、たまにXcode3も使いたいという場合にはLionへのアップグレートは控えてSnow Leopardのままにしておくのが良いでしょう。
しかし、もうすでにLionにしちゃった俺はどうすれば?という場合は以下の記事が助けになるでしょう。 “LionにXcode3をインストールする” の続きを読む

iPhoneで動くニキシー管時計を作ってみた<ダイバージェンスメーター>

iPhoneアプリ開発成果発表(途中経過)

STEINS;GATE に出てくる未来ガジェットがかっこ良すぎる
実際にニキシー管をつかった時計を自作している人がいるけど、自分には電気工作は無理なので、iPhone上でリアルなNix­ie Tube Clockを作ってみました。
床面の反射はもちろん、隣の管への光の映り込みまでリアルに再現できたと思います。
S;G Nixie Clock シュタインズゲート