Monthly Archives: 2月 2013

Jsany 2.0.0がリリースされました

Jsany(旧JavaScript Anywhere)は2010年に僕がはじめてリリースしたiPhoneアプリです。
初心者が書いたボロボロのコードをなんとか延命してきたんですが、限界をむかえたため、今回大幅に作り直しました。

どんなアプリなのか?
説明のかわりに、3年前に僕が書いた紹介文を引用します。

JavaScript Anywhere
―いつでも、どこでも、JavaScriptプログラミング!

JavaScriptを覚えたての頃、電車でもプログラミングがしたくて、
携帯電話のフルブラウザ(Locationバー)を使うという無茶をしていました。

この試みは、「about:blankを開いても広告の通信料がかかる」という、
a社の仕様(?)により続けられることはありませんでしたが、
今でも、ふと思いついたコードを試したいことはあります。

JavaScript Anywhereはそんな場面で使えるものを目指して開発しました。
高度な機能はないですが、JavaScript(+ HTML, CSS)をさっと書いて動かすことができます。

外でJSを書きたいと一度でも思ったことのある人は、是非使ってみて下さい。

バージョンアップ後もアプリのコンセプトは、全く変わっておらず、上記のままです。JSが書ける最低限の環境を提供します。
ただ、いくぶん使いやすくなっているはずですので、興味のある方はぜひこの機会にお試し下さい。

 

Jsany · Code Editor 2.0.0(無料)App
カテゴリ: ユーティリティ, 仕事効率化
販売元: Tatsuya Tobioka – Tatsuya Tobioka(サイズ: 5.6 MB)
全てのバージョンの評価: (167件の評価)
+ iPhone/iPadの両方に対応

 

アプリ名変更はやはり愚策らしい

心機一転の意味もあり、アプリ名を略称にしましたが、現状、ダウンロード数は1/5以下に激減しています。AppStore内SEOは思った以上に重要なようです。

 

シングルタスクだったあのころ

書き直しながら古いコードを見てると、「アプリ終了時に開いていたプロジェクトを記憶しておいて、次回起動時に自動で開く」みたいな処理があって、あぁ、そういえば、このころまだiPhoneはシングルタスク(ホームボタンを押したらアプリ終了)だったんだなと思い出しました。
プラットフォームは忘れるぐらい当たり前に進化していってるけど、その上で動く、自分が書いたものは誰かの生活を便利にできてるのかな?とかなんかそんなことを考えました。
特になんの結論も出てません。ただそれだけ。

 

2013年、Jsanyをよろしくおねがいします

アプリの宣伝なんだか、ひとりごとなんだか、よくわからないエントリになってしまいましたが、この辺りで終わります。
今年はこまめにアップデートして行きたいと思ってるので、お付き合いいただければ幸いです。

それでは。

Jsany · Code Editor

放置アプリは注意が必要。3月18日から古いAdMob SDKのリクエストが無効になるもよう

今日ふとAdMobの管理画面にログインしたらこんな表示が。

Starting March 18, 2013, we will no longer support ad requests made through AdMob SDKs released before 2011. Please upgrade to the latest version of the AdMob SDK here.

2013年3月18日から2011年より前にリリースされたAdMob SDKからのリクエストはサポートされなくなります。最新版のAdMob SDKにアップグレードしてください。

だそうです。

これは放置アプリへの死の宣告ですね。
僕のアプリはというと、オープンソースというのを言い訳にずっと放置してる Edhita のリリースが2010年10月だったので、”before 2011″が「以前」だろうが「より前」を意味してようが、がっつり対象のようです。(たぶん「より前」?)

urgent SDK update required

早急なSDKのアップデートが必要

よく見ると警告されてましたorz

ずっと放置しちゃってるので当然雀の涙ほどの収益しかなく、非公開にしちゃってもいいんですが、未だにダウンロードしてくれたり、アップデートの要望をくれたりする方がいるため、ちょっとどうしようか迷い中です。(最大のネックはFTPなんてものをサポートしちゃったこと。面倒くせぇ^^)

真面目にやるにしても、iOSアプリはApple時間で時が進むので、3月18日までって結構きつかったりするんだよなぁ。

NSTableView * NSArrayController && !CoreData

今まで、NSTableViewとNSArrrayControllerを使うときは、CoreDataと一緒にしか使ったことがなかった。
ただ、そんないつもCoreDataが必要ということはないので、勉強もかねてPlainなオブジェクトと一緒に使ってみる。

参考:Takeba.me: ビュー・ベースのNSTableViewをさわってみたよ
※ 記事の本題とは違いますが、CoreDataを使わないサンプルとして参考になりました
なお、サンプルコードのリポジトリがこっちに変わっているようでした。
takebayashi/ViewBasedTableSample · GitHub

下準備

  1. プロジェクト作成
  2. 「MainMenu.xib」を開く
  3. Windowに「NSTableView」を追加。「Columns」を1にしておく
  4. Objectsに「NSArrayController」を追加。「arrayController」としてAppDelegateにOutlet接続

NSTableColumnとNSArrayControllerをBind

  1. ValueのBind toを「Array Controller」に
  2. Model Key Pathを「name」に

Modelオブジェクトの作成

  1. NSObjectを継承したクラスを作成
  2. Publicな「name」プロパティを追加

ArrayControllerにデータをセット

applicationDidFinishLaunching:で以下のようにarrayControllerにデータを設定。

これでTableViewに30件のデータが表示される。

ArrayControllerが面倒を見てくれるので、DataSourceの設定はいらない。
絞り込みとかも簡単にできる。

例えば、NSSearchFieldを使う場合、

  1. Windowに「NSSearchField」を追加
  2. SearchのBind toを「Array Controller」に
  3. Predicate Formatに「name contains $value」を指定

とするだけで、インクリメンタル検索ができるようになる。

うん、シンプルでいい感じ。
ちょっとは理解できてきたかなぁ。

あ、プロジェクトは一応こちらに置いてます。
tnantoka/ArrayControllerPractice · GitHub

それでは。

Macアプリから内蔵辞書を引きたい

自分用のツールを作ろうとして英和辞典を検索したいニーズがあったのでメモ。
ニーズはたくさんありそうなのに思ったより日本語情報が少なかったです。(なぜかPythonの情報の方が多かった…)

Control + Command + d でいいじゃんという突っ込みはなしの方向で。

 

方法1:辞書.appで表示

辞書.appには「dict://」というカスタムURIスキームが用意されているようなので、

とかやれば、検索できます。
辞書の指定とか細かい制御はできなさそうです。

参考:Mac OS X Lionで内蔵辞書を引く #Mac #dictionary – Qiita

 

方法2:アプリ内で表示

こちらが本命。
Dictionary Services Reference によると DCSCopyTextDefinition を使えばできそうです。

という感じでできました。
__bridgeのせいで見づらいですが、意外と簡単でした。

冒頭の宣言と辞書の指定は、OS Xの辞書アプリをコマンドラインから – PC日記 を参考にさせていただきました。(辞書指定しないと英語の辞書が使われてしまいました)
この部分がUndocumentedなので、Mac App Storeの審査に通るかはグレーです。

HIDictionaryWindowShow を使えばControl + Command + dのようなポップアップ表示もできるようです。
参考:日暮れて道遠し: PDFkit(その5)辞書.appで辞書を引く(その3)

 

サンプル

上記2つの方法を試せる簡単なサンプルを作ってみました。左のTextViewで文字列を選択すると、ポップアップで選択されている方法(OpenURL or DCSCopyTextDefinition)で辞書を検索します。DCSCopyTextDefinitionの場合は右のTextViewに結果が表示されます。

こんな感じです。

ソースはGithubに置いておくのでご自由にどうぞです。
tnantoka/DictionaryServicesExample · GitHub

しかし、Macアプリ作成は全然上達してる気がしないなぁ…。 もっと頑張ろうっと。

それでは;-)

 Scroll to top