アプリエンジニアの山下です。 プロダクト自体の改善はもちろんですが、開発環境を改善していくこともエンジニアの重要な仕事だと思います。 今回はUnityプロジェクトをビルドしストア提出用アプリ(ipa/apk)を作る上で 起こった問題とその解消方法についてまとめてみました。 ビルド作成時の問題 開発を進めていく上で、現行プロジェクトをビルドしてQAや開発に関わっているメンバーに配布することは多々あります。 しかし開発が進むにつれプロジェクトが膨らんでいき、ビルド手順の複雑化とビルド時間の増大が問題になってきました。 特に手順の複雑化は属人性を高め、ビルド職人がいないとビルドを作れない事態にまで及びました。 一時期ビルド手順書が作られましたが、日々の開発による手順の変化に対応できず、属人化を避けることはできませんでした。 Jenkins の導入 まず属人化解消のため、Jenkinsによる自動ビ
サーバーエンジニアの若原です。 今回は開発でも使っているCircleCIのGitHub連携について紹介させていただきます。 CircleCIとは継続的インテグレーションのためのクラウドサービスです。 GitHubと連携することができ、git pushなどをトリガーにビルドを走らせることができます。 1コンテナまでは無料で使用することが可能ですが、複数のビルドを並列で行うためにはコンテナを増やす必要があり、2つ以上のコンテナを使用したい場合は有料となります。プロジェクトの規模を考えて適切な量のコンテナ数を追加する必要があります。 サインアップ CircleCIへはGitHubのアカウントでサインアップすることができます。 プロジェクトの追加 サインアップ直後にダッシュボードに遷移します。プロジェクトが存在しないため赤枠内の「Add Projects」からGitHubのプロジェクトを追加します
ネイティブアプリケーション事業部サーバエンジニアの桐島です。 先日、社内エンジニアLT会にて、ポモドーロ・テクニックについて発表したところ、 「自分はこんな感じでやってるよー」という意見が出たり、気になっているひとが結構多い感じだったので、ブログにも書いてみます。 ポモドーロ・テクニックとは Francesco Cirillo さんが、1980年代後半に考案した、時間管理法です。 小休憩を細かく取ることで生産性を向上させる、という考えがベースになっています。 ポモドーロ・テクニックのやり方 具体的な実践方法は以下となります。 やることを決める 25分後に鳴るようにタイマーを設定する タイマーが鳴るまでタスクを処理する タイマーが鳴ったら、短い休憩(3〜5分)をして、1に戻る(これが1ポモドーロ) 4ポモドーロしたら、より長い休憩(15-30分)をして、1に戻る とてもシンプルですね。 とは
クライアントエンジニアの加賀です。 昔は何も知らずにLINQのメソッドを使うと、iOS実機で動かした時に以下のようなエラーが出ることがありました。 System.ExecutionEngineException: Attempting to JIT compile method だいぶ前からですが、すこしずつ改善がされてきているので、現在の状況を一度纏めてみました。 ※メソッドの実行結果が正しいかは、今回確認していません。 あくまで、実行時にエラーが起きるかどうかを確認しています。 今回確認した環境は以下の通りです。 2016/11/22 Unity 5.4.2f2 Mac OS X 10.11.6 iOS 9.2.1 検証結果を記載しますが、Result値の意味は以下のとおりです。 Result値 意味 o エラーにならない x エラーになる Average エラーの条件 引数に変換関数
ネイティブアプリケーション事業部サーバエンジニアの桐島です。 ワンダープラネットでは、開発の様々なシーンでGitHubを活用しており、 GitHubは日々の開発に無くてはならない存在となっています。 また、GitHub好きのエンジニアが多く、 GitHub shopから大量にグッズ購入した結果、想定外の関税の支払いに泣かされたり等、 GitHubをフル活用していると思います。 約1ヶ月前、そんなGitHubに「Projects」という新機能が追加されました。 今回は、Projectsの活用方法を書いてみたいと思います。 GitHub Projectsとは Projectsは、以下画像の様にかんばんボードを作れる機能です。 issueなどの優先度/状態を視覚化することが可能となります。 GitHub Projectsの特徴 GitHub Projectsは、かんばんツール(ZenHub, w
ブログを担当する戸田です。今回はiOSアプリ(iPAファイル)の再署名について紹介していきます。 iOSアプリの開発を行っていると「Apple Developer Program」の証明書にて有効期限が設定されているため、証明書の期限が切れてしまうとiOSアプリを利用することができなくなります。iOSアプリを再利用するには、証明書を更新後に再ビルドを行う必要があります。そのため、ビルドに時間が掛る場合やビルド環境がない場合でも行える方法になります。 iPAファイルを展開する。 「unzip」コマンドで、iPAファイル(sample.ipa)を展開します。 $ unzip sample.ipa Entitlementsファイルを作成 「codesign」コマンドから再署名に必要になるentitlementsファイルを作成します。 $ codesign -d --entitlements :-
リニューアル後、3エントリー目、担当の長屋です。 日々、業務中にいいなと思ったことを書いてみます。 今回は汎用的で且つ軽量高速なバイナリベースのシリアライズ形式である「MessagePack」について書いてみようと思います。JSON-likeに汎用的に扱え、バイナリ形式で且つ余分なデータを切り詰めているためシリアライズ後のサイズはJSONよりもかなり小さくなります。 また、C++の場合は自作のデーダオブジェクトや列挙型などのそのままシリアライズ・デシリアライズできる楽ちん仕様になってます。 MessagePack MessagePack: It's like JSON. but fast and small. 実際にMessagePack形式でシリアライズしたデータのサイズとJSONの場合のサイズを比べてみたいと思います。 #include <iostream> #include <msg
今回のエンジニアブログ担当の岩原です。 今回は、タイトルの通り「MacでC#を書いてみよう(準備編)」です。 Macでコードを書く際、第一候補に上がってくるのが「Objective-c」です。 あまり書いたことが無いため、詳細はよく知らなかったりするのですが、 C言語をオブジェクト指向に向けたような言語らしいです。 Objective-cは、長らくWindowsに親しんできた自分にとって、かなり取っ付きづらい言語です。 できれば、慣れ親しんだC#でコードを書きたい!しかし、Macには環境がないからC#は使うことはできない。 そう思っていた時代が私にもありました。 MacにもC#、それに限らず.NET Frameworkが使える環境がありました。 それは「Mono」です。 「Mono」は.NET Framework互換の、オープンソースプロジェクトであり、 多くのプラットフォーム上(Wind
こんにちは、エンジニアの成田です。 皆さんはGoogle Play Game Servicesをご存知でしょうか?今年のGoogle I/O 2013で発表された、ゲームプラットフォームのコア機能を提供するGoogle社の新サービスです。今回はiOSアプリにGoogle Play Game Servicesを導入する手順を紹介します。 1.Google Play Game Servicesとは Google社が提供するクロスプラットフォームゲームサービスであり、実績やリーダーボード(いわゆるランキング)、クラウド上へのゲームデータのセーブ、リアルタイムマルチプレイ(Androidのみ)といった、最近のゲームによく搭載されている機能をタブレット・モバイル向けアプリケーションに統合することができます。 ここまでならApple社が提供するGame Centerと趣が似ていますが、本サービスはAn
こんにちは。エンジニアの鷲見です。 今回は、Vimで便利なプラグインを紹介します。 1.The NERD Commenter http://www.vim.org/scripts/script.php?script_id=1218 コメントアウト/アンコメントを簡単にできるようにするプラグインです。 個人的によく使うのは「c」というコマンドで、 一発でコメントアウト/アンコメントが可能です。 例. <p>ラーメンライス</p> 「c」で <!-- <p>ラーメンライス</p> --> もう一回「c」で <p>ラーメンライス</p> 2.YankRing.vim http://www.vim.org/scripts/script.php?script_id=1234 「p」コマンドで文章をペーストを実行した後、以下のコマンドでペーストのテキストを置き換えることができます。 ・「Ctrl-p」
今回のエンジニアブログ担当の山下です。 フルネイティブなアプリを作る場合、iOSではObjective-C、AndroidではJavaで書くのが一般的です。 OSが変わればAPIも変わりますし、そもそも記述する言語も変わってきます。 いろいろ勉強してみるのも為になりますが、一度書いただけでサクッといろんな環境で動いてくれたら、 開発がとても楽になると思います。 マルチプラットフォームなアプリを作る際、ゲームアプリだとcocos2d-xやUnityといった 選択肢がありますが、なじみの無い言語だったり、デバッグが大変だと感じる方も いらっしゃるのではないでしょうか。 そこでApportableというツールがあります。 これがなんと、iOSアプリのプロジェクトからAndroidアプリを力業で生成してしまうというものです。 UIKitを使ったアプリはもちろんのこと(なんとxibを使ってもOK)、
今回のエンジニアブログ担当の岩原です。 前々回、前回に引き続き、今回もJenkinsについて書きたいと思います。 まずは、前回までのおさらいから。 ・Jenkinsとは Javaで作られているCIサーバーの1つです。 オープンソースなので、手軽に利用できます。 ・そもそもCIサーバーとは? 継続的インテグレーション(continuous integration)のためのアプリケーションサーバーのことです。 ビルドやデプロイ、ユニットテストなどのソフトウェアの開発にかかるいろいろな手順を代わりに自動でやってくれる賢いヤツです。 構築にあたっての前提は以下のとおりです。 【前提】 ・Macであること。(要OS X 10.5以上) ・Xcodeがインストール済みであること。 ・XcodeからCocos2d-xのiOSアプリがビルド&実行が出来る状態であること。 ・Eclipseなどを使用して、C
こんにちは。エンジニアをしています、鷲見と申します。 今回はアフィン変換についてです。 あらまし Objective-Cにはアフィン変換を行う機能があり、簡単にUIViewの幾何学的変換を行うことができます。 例えばUIViewを回転したい場合は、以下のように書くことができます。 // ビューを30度回転 CGFloat angle = 30.0 * M_PI / 180.0; view.transform = CGAffineTransformMakeRotation(angle); この他にもいろいろな機能があるのですが、その中にCGAffineTransformMakeという アフィン行列を指定してアフィン変換を行う機能があります。 さて、このアフィン行列とは何なのでしょうか?そもそもアフィン変換とは一体何者なのでしょうか? というわけで本ブログではアフィン変換の理屈について解説して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く