読者です 読者をやめる 読者になる 読者になる

酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

戻るボタンをカスタマイズしているとUINavigationController#pushViewControllerで遷移しなくなる

数年前から開発しているアプリで謎の不具合が発生していました。「ときどきボタンを押してもフリーズしたようになって画面遷移しない」というものでした。 再現性がものすごく低くてほとんど発生しないことからスルーされてきました。つい先日、ほぼ100%再現…

天どん for Mastodon v1.1をリリースしました

天どん for Mastodon v1.1をリリースしました。開発バージョンとリリースバージョンが合っていませんがご了承ください ダウンロードはこちらからどうぞ。 天どん for MastodonKENJI WADAソーシャルネットワーキング¥120 近況 案の定、あっという間にMastodon…

天どん for Mastodon v1.0をリリースしました

ChromeでMastodonを開いているとメモリを食ってしまうので、投稿用のMastodonクライアント「天どん for Mastodon」を作りました。 Mastodonは複数のインスタンスがあるので、アカウントを使い分けている方がほとんどかと思います。自分も複数のインスタンス…

(未解決)iOS 10.3.1にアップデートした一部の端末でIn-House/Ad-Hocバイナリがインストールできない

未解決案件。何かわかり次第、追記します。 環境について Xcode 8.3.1でビルドしたIn-House/Ad-Hocバイナリ アプリの配布場所は AWS S3に配置 (https) 現象について ビルドしたipaファイルとダウンロード用のplistをS3にアップロードしています。 ダウンロー…

ipaファイルを再署名(resign)する

現在出力しているipaファイルを新しいProvisioning Profileを使って再署名することができます。利用用途としては、新しいIPAファイルは作成したくないがProvisioning Profileが失効してしまったり対応するUDIDが増えた時に、Provisioning Profileのみを入れ…

Xcode 8.3.1でAutomatically manage signingが有効になっているプロジェクトの場合にipaファイルが出力できない

Xcode 8.3以降でAutomatically manage signingが有効になっているプロジェクトで、コマンドライン(xcodebuild)を使ってipaファイルを作成することができず、途中でビルドエラーが発生してしまう問題にぶち当たりました。 個人的な感想としては、Xcode 8.3でx…

iPhoneシミュレータが起動できなくなった

Xcode 8.3.1でiPhoneシミュレータを起動させようとすると、画面が真っ暗なまま下図のようなエラーダイアログが表示されました。 エラーメッセージの内容。 Unable to boot device because it cannot be located on disk. Use the device manager in Xcode or…

Xcode 8.3でxcrun PackageApplicationが使えなくなってしまったので対策しました

開発中のアプリはMac miniを使ってJenkinsでビルドしています。Xcode 8.3.1がリリースされたことだし、古いバージョンのXcodeを削除してXcode 8.3をインストールしました。Xcode 8.3.1をインストールしていないのは現時点でダウンロードサイトに登録されてい…

Swiftで角丸・背景透過・枠線のボタンを作る

メモするまでもないかもしれないけれど、こんな感じのボタンを作った。 Swiftで角丸背景透過枠線のみのボタンを作る カスタムviewを使った。 import UIKit class MyRoundButton : UIButton { override func awakeFromNib() { super.awakeFromNib() setTitleC…

tendon for Mastodon

tendonは、Mastodonクライアントです。 投稿するだけのシンプルなクライアントです。 マルチアカウントの対応。インスタンス・アカウントによってトゥートを分けることができます 通知一覧をみることができます ダウンロードはこちらからどうぞ。 天どん for…

SwiftでRGBからHSVへ変換する

RGBの値をHSVの値に変換するためのコードを書きました。大昔にC#で書いた処理をSwiftに移植しました。 説明は上記の記事をご覧ください。以下、HSVクラスです。 class HSV { //色相 var hue: Double = 0 //彩度 var saturation: Double = 0 //明度 var value…

Androidアプリのビルドで「Unsupported major.minor version 52.0」のビルドエラーが発生する

Jenkinsを使ってアプリをビルドをしているのですが、この2ヶ月間少し毛色の違うプロジェクトをやっていたこともあって、ビルドサーバーのジョブは増えていませんでした。 久しぶりにAndroidアプリのビルドジョブを追加すると、見たことのないタイプのエラー…

MacでiOSとAndroid用のアイコンを1024x1024のストア申請用の画像からスクリプトで一気に作成する

とあるプロジェクトでiOS/Androidそれぞれに対応したアプリを開発しているのですが、アイコン用にストア申請用の1024x1024の画像をいただきました。 たかだか十数枚なのでペイントツールを使って1枚1枚手作業で縮小しても構わなかったのですが、微調整が入る…

Androidでヘッドセット(イヤホン)の接続状態の変化を検出する

Androidでヘッドセット(イヤホン)の接続状態が変わったイベントを取得する必要がでてきました。ヘッドセットの状態変更関係を検出する用途では2つのIntentが存在しています。 Intent.ACTION_HEADSET_PLUGとAudioManager.ACTION_AUDIO_BECOMING_NOISYです。 I…

SwiftでNSAttributedStringを使って文字列を装飾する(UILabelに画像を表示する)

直近でやっていたプロジェクトでNSAttributedStringに関する知識が少なくて苦労したので忘れないようにメモしておきます。 NSAttributedStringに関してはすでに色んなブログやサイトで紹介されているのでご存知の方も多いかもしれませんが文字列を装飾してく…

Xcodeでのビルドを自動化するxcodebuildコマンドとIPAファイルを作成してiTunes Connect(Testflight)に投げる方法

2014年にAppleがTestflightを買収してから数年経ちました。Androidのサポートが打ち切られたりして対応に追われたこともありましたが、数年経ち公式にiTunes Connectのアプリ申請プロセスに組み込まれるようになりました。 iOS 8を公開した時期から1つのバー…

Firefox OSスマートフォン「Fx0」の標準の地図アプリについて

まだ発売されていませんが田中プロのざっくばらんなトークでFirefox OSスマートフォン「Fx0」が発表されました。KDDIにはこれからも他社がやっていないことに挑戦してもらうためにもFx0には売れてほしいですね。 Flameを買えなかったのもあって、Firefox OS…

ASP.NET MVCでホスト型のFirefox OS アプリを作ったときに「.webapp」ファイルにアクセスできない

ASP.NET MVCでホスト型のFirefox OS アプリを作ったときに「.webapp」ファイルにアクセスできなくって困ったので、備忘録代わりに残しておきます。 まずは普通にプロジェクトへ.webappファイルを追加します。ソリューションエクスプローラーからプロジェクト…

Firefox OSで動くパッケージ型のHello worldアプリを作ってみる

Firefox OSアプリはHTML5+JavaScriptで構築することができるから資産の活用が容易!と聞くのですが、その方面に触れたことがない僕としては「ア、ハイ…」となりました。このままでは何もやらずに終わってしまいそうなのです。 最小構成であるHello worldアプリを…

Firefox OSスマートフォン(Firefox Phone)のシミュレータをアプリマネージャーで試す

前回「Firefox OSスマートフォン(Firefox Phone)のシミュレータをインストールする - 酢ろぐ!」を紹介しました。 @masawada氏にFirefox OS シミュレータは古くってアプリマネージャーを使った方が良いというのと、Auroraではなくて現行バージョンのFirefox…

Firefox OSスマートフォン(Firefox Phone)のシミュレータをインストールする

KDDIからFirefox OS スマートフォンがクリスマスシーズンに発売されるかも…というツイートがTLに流れてきました。 auのFirefox OS スマートフォンはXmasに発売。社長動画にモザイクで新端末披露(更新) - Engadget Japanese 前々から興味はあったものの実際…

ASP.NET MVC 4でjQueryを使って動的に部分ビューを更新させる

今日、タイムラインを見ていたら七夕ということもあってか、Twitterで短冊を作って遊んでる方が沢山いました。だるさんがWebMatrixを使って短冊ヘルパーを作っていたので、負けじとASP.NET MVCを使ってかなり雑な短冊メーカーを作りました。 短冊メーカー Ta…

SQLを使って日別で集計する

記事が投稿された日付ごとのデータを収集したいと考えていました。データベースではdatetime型で保存していたため、投稿日時でgruop byしてしまうと下図のように時間まで含めてグループ化されてしまいました。 select PublishTime as "date", count(ArticleI…

WindowsでRe:VIEWの「review-pdfmaker」を実行すると稀にPDFが尻切れトンボになる

Jenkins+ReVIEWの構成で原稿を書いています。 ReVIEWの review-pdfmaker で原稿の途中からPDFに出力されなくなるトラブルが発生しました。ログを確認すると以下のようなエラーが発生していました。 ! LaTeX Error: Cannot determine size of graphic in ./im…

Re:VIEW記法で他のreファイルの章番号や章題(タイトル)に置換する

Re:VIEW記法で引用を挿入する方法を紹介します。ReVIEW についてはこちらの記事をご覧ください。 他のreファイルの章番号や章題(タイトル)に置換する ohba.re の中身が下記のような文章だとします。 = 大場会の現状 大場さんの特徴を1つ挙げてください』とい…

Re:VIEWを使っていて ==と===を続けて書いたら===の節が出力されなかった といった問題に遭遇したら

Re:VIEWを使って執筆していますが、「==と===を続けて書いたら===の節が出力されなかった」といった問題に遭遇したらどうしましょうか。 review-pdfmakerでPDFファイルが生成されないトラブルが発生しました。下記のように == と === を下記のように == ほげ…

Re:VIEWを使っていて //TODO と書いたところワーニング表示された といった問題に遭遇したら

Re:VIEWを使って執筆していますが、「//TODO と書いたところワーニング表示された」といった問題に遭遇したらどうしましょうか。 ReVIEWのコードを見ていないので断言はできませんが、おそらくReVIEW記法の都合上、文中に記載する // に続くキーワードは、Re…

MS-DOSスタイルのパスが原因でCygwinでワーニングが発生する(Windows環境)

Re:VIEWを使っていると、おそらく以下のようなようなワーニングをCygwinが吐くかもしれません。 Re:VIEW についてはこちらの記事をご覧ください。 cygwin warning: MS-DOS style path detected: C:/tools/review/bin/review-pdfmaker Preferred POSIX equiva…

Re:VIEWを使っていて ○章以降の記事が出力されていない といった問題に遭遇したら

Re:VIEWを使って執筆しているが「○章以降の記事が出力されていない」といった問題に遭遇したらどうしましょうか。 ファイル分割しているプロジェクトの場合(例えば全10章でreファイルが10つ存在する場合)、6章目のreファイルでReVIEW記法等に問題があり出力…

Re:VIEWを使って電子書籍を執筆する(執筆Tipsのまとめ)

Re:VIEWとは自動組版をおこなってくれる執筆支援ツールです。Re:VIEW(旧:ReVIEW)共にキーワードがあまりにも一般的すぎて、公式にkmuto ReVIEWで検索してくださいとつぶやかれていました。 また、Re:VIEWの開発環境がMacということもあり、Windowsへの導入…

Re:VIEWで本文のフォントの大きさを変更する

ReVIEWにて出力される本文のフォントの大きさを変更する方法をご紹介します。 kmuto ReVIEW についてはこちらの記事をご覧ください。 PDFの場合 ここでは本文のフォントサイズを12ptにする場合の方法をご紹介します。 review-pdfmakerの引数に指定するyamlフ…

Windows Mobile( .NET Compact Framework)でTwitter APIを使ってPOSTで投稿する

Twitter APIを使ってPost出来ないという声を聞いたので、自前のTwitterクライアントで使っているコードを貼り付けておきますね。Windows Mobile(.NET compact Framwork)でも使えるコードです。 ''' <summary> ''' Twitterへ投稿する ''' </summary> ''' <param name="status">Twitterへ投稿する文字</param>…

Re:VIEW記法で表を挿入する

Re:VIEW記法で表を挿入する方法を紹介します。ReVIEW についてはこちらの記事をご覧ください。 表 「ReVIEW フォーマットのページ」にてReVIEW記法が紹介されています。以下に引用の記入方法を引用します。 表は //table[識別子][キャプション]{ 〜 //} です…

Re:VIEW記法で引用を挿入する

Re:VIEW記法で引用を挿入する方法を紹介します。ReVIEW についてはこちらの記事をご覧ください。 引用 ここでReVIEW記法が紹介されています。以下に引用の記入方法を引用します。 引用は「//quote{ 〜 //}」を使って記述します。引用内でもインライン命令は…

Re:VIEW記法でリスト(ソースコード)を挿入する

ReVIEW記法でリスト(ソースコード)を挿入する方法を紹介します。 ReVIEW についてはこちらの記事をご覧ください。 連番付きリスト 「ReVIEW フォーマットのページ」にてReVIEW記法が紹介されています。以下に連番付きリストの記入方法を引用します。 ソース…

Re:VIEW記法でコラムを挿入する

Re:VIEW記法でコラムを挿入する方法を紹介します。 ReVIEW についてはこちらの記事をご覧ください。 コラム表示 「ReVIEW フォーマットのページ」にてReVIEW記法が紹介されています。以下にコラムの記入方法を引用します。 節や項の見出しに [column] を追加…

執筆支援ツール「Re:VIEW」をWindowsにインストール書籍制作をCIする

ここでのRe:VIEWは「kmuto ReVIEW」で出てくる出版制作ツール「ReVIEW」を指します。各ツールは以下のフォルダにインストールしています。 Windows環境では、TeXのインストールや環境変数の追加など、若干環境構築が面倒くさいですが、以下のページで環境構…

Windows Mobile(.NET Compact Framework)でSIP表示時にコントロールのサイズを変更して、SIPと干渉しないようにする

Windows Mobile 6.5 Professionalエディションが搭載されたWindows phoneでは、ハードキーボードを搭載しない端末が増えています。その手の端末では、文字の入力をする為にソフトキーボード(SIP:Soft Input Panel)を使用します。 ソフトキーボードを有効に…

Windows Mobile(.NET Compact Framework)でWinMsg(Windows メッセージ)を拾う

.NET Compact Frameworkは、デスクトップ版.NET Frameworkのサブセットです。省容量のためイベントやプロパティ類が大幅にカットされています。 よって拾えるイベントがものすごく少ないので、Windows Messageによる処理を行なえるようにしました。 一般的な…

Windows Mobile(.NET Compact Framework)でSMSを送信する

本記事では、Windows Mobile上の.NET Compact FrameworkでShort Message Service (SMS)のメッセージを送信する方法をご紹介します。 Microsoft.WindowsMobile.PocketOutlook 名前空間の SmsMessage クラスを利用する事で、簡単にSMSメッセージを送信する事が…

Windows Mobile(.NET Compact Framework)でIconをBitmapオブジェクトへ変換する

.NET Compact Frameworkでは、デスクトップPC版の.NET Frameworkのサブセットですので、容量削減のためにモバイル向けにいくつか機能を削除されています。 今回紹介するIconからBitmapオブジェクトを生成するのもIcon.ToBitmapメソッドが削除されており、Ico…

Windows Mobile(.NET Compact Framework)で高分解能タイマを使う

QueryPerformanceFrequency 関数と QueryPerformanceCounter 関数を使用して、Environment.TickCount よりも高い精度を持つ高分解能タイマを作成する事が出来ます。 これらの実装はOEMメーカ固有となっています。 VB.NET ' 以下の名前空間を指定しておいてく…

Windows Mobile(.NET Compact Framework)でデバイスを再起動(ソフトリセット)する

Windows Mobileでは2種類の「リセット」があります。デバイスの再起動を行う為の「ソフトリセット」、工場出荷状態に戻すための「ハードリセット」です。 ハードリセットの方法に関しては、「Windows Mobile(.NET Compact Framework)でデバイスを工場出荷時…

Windows Mobile(.NET Compact Framework)でバックライトの輝度を設定・取得する

Windows Mobileのコントロールパネルのシステムタブにある「バックライト」で輝度を変更出来ます。今回は、プログラム上からバックライトの輝度を変更する方法をご紹介します。 S11HT(EMONSTER)の「バックライト」の設定画面です。このバッテリィ使用時と、…

Windowsストアアプリ開発の記事一覧

Windowsストアアプリ プログラミングのTipsを紹介します。 WordPressでの記事の管理が大変になってきましたので、現在、ch3cooh.jpからblog.ch3cooh.jpへ記事を移植しております。リンクが入り乱れているかと思いますがご迷惑をお掛けして申し訳ございません…

Windows Mobile 6.x 用の Windows Marketplace 終了のお知らせ

ついにこの日が…… 2012 年 5 月 9 日から、Windows Mobile 6.x Marketplace サービスはご利用いただけなくまります。この日以降、Windows Mobile 6.x Marketplace アプリケーションやサービスを使用して、アプリケーションを閲覧したり、購入したり、Windows…

今日見つけたMetro Style Apps、Windows Mobile向け情報

和訳されたBUILD のセッション スライドが公開されました 和訳されたBUILD のセッション スライドが公開されました。Windows 8とMetro Style Appsの開発Tipsは今のうちから集めておきたいですね。 日本語翻訳ファイルは、Channel 9 の BUILD 2011 サイトの各…

Windows Mobile 追悼式……

ついに明日、日本でWindows Phoneの発表があります*1。各地ではWindows Mobile追悼式がしめやかに執り行われました。いやー、本当にS11HTは良い機種でした。S11HTがなければTwitterもやってなかったと思います。ただ解像度がQVGAだったこともあって、写真や…

OpenNETCFチームがPocket Outlook UI風のコントロール「OpenNETCF Calendar controls」を公開

I'm still working on cleaning out our code archive and publishing things I feel might still be useful. Today, I published the OpenNETCF Calendar controls, which provide some funtionality that has the look and feel of the Pocket Outlook UI.…

Windows MarketplaceのWM6.xアプリの登録更新は7/15に出来なくなります。

http://blogs.msdn.com/b/shintak/archive/2011/05/17/10165036.aspx:tileを見て、「あれ?」と思ったのでエントリを書いてたら、Marketplalce の 6.5アプリの登録終了は 7/15でしたで訂正されていた。3年前に伊藤店長(当時)が熱く語っていたWindows Marketp…