忍者ブログ

[PR]

2025年02月01日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

すっかり忘れていましたが…

2009年04月17日
ホームページやブログの更新をサボってる間にTiny3Dがバージョンアップして1.4.0になりました。主なバージョンアップ項目は、

  1. メールでのDXFファイル送信機能の追加
  2. 設定項目に最大FPSを追加

以上の2点です。メール送信機能により、所有マシンがWindowsのみでFTPサーバーを所持しない場合でも、DXFファイルのハンドリングが可能になります。お使いのメール送信サーバーによってはファイル容量制限で送信できない場合もあるかもしれませんが、その場合はパートの一部を順番に非表示にしながら出力するなどで対応してください。以前のFTPでの出力同様、表示スイッチ入のものだけ出力するようになっています。

最大FPSの設定は自動回転を簡易アニメーションとして利用する際、タイミングの調整に利用できます。ちなみに設定値は1から60の間です。設定値を小さくした場合、タッチパネル操作への反応が鈍くなっているように感じるかもしれません。また、表示項目が多い場合、高いFPS設定値にしても実際のFPSが追いつかないこともあります。
PR

NASでTimeMachineを使う方法

2009年03月28日
Macを使っていて便利なのはTimeMachine機能が使えることです。これによりついつい勢い余ってゴミ箱から消してしまったファイルを復活させたり、Macの内蔵ハードディスクに異常が起きるといった最悪の事態でも、データが1時間おきに自動保存されているので被害が少なくて済むなど、多くのメリットがあります。以前にTimeMachineについて調べた時にはTimeMachine機能が使われ始めた頃の記事しか読んでいなかったようで、最近はTimeMachineを取り巻く環境にも異変が起きていました。私が今まで知らなかったのは以下の二点です。

まず第一に、本家TimeCupsule以外にも標準機能としてTimeMachine機能に対応しているNASがあるということです。バッファローのNASでは全部ではありませんが、TimeMachine機能に標準で対応しているものがあります。メーカーサイトの製品比較の一覧表にはちゃんと比較項目として「TimeMachine対応」という項目がありました。家電量販店のサイトなどではこのことに触れられていないため、全く知らなかっただけでした。

第二に、TimeMachine非対応のNASでも、TimeMachine対応にできる方法があるということです。「TimeCapsuleじゃないNASを使って、TimeMachineを使ってみる」の記事を参考に自宅のNASで実験をしたところ、バックアップの開始まで行けました。実験ではディスクがHFS+ではフォーマットされていないためか、途中でエラーで止まってしまいました。今NASにあるデータを消すわけにもいかないため、残念ながらバックアップが終了するところまでの実験はできませんでしたが、フォーマットが正しければ問題なく動きそうです。

これらのことから、TimeCupsuleのようなネットワーク上のTimeMachineバックアップ先を低コストで手に入れられる方法もあることが分かりました。設定の手軽さや付加機能など本家のTimeCupsuleにも利点は多くありますが、既に無線アクセスポイントなどTimeCupsuleと重複する機能が既にある場合や、データのさらなる安全性向上のため、ネットワーク上にあるRAID対応ディスクをバックアップ先にしたい場合もあるでしょう。利用者の状況に合わせて選択肢が存在するのは、ユーザー側としてはありがたいことです。

追記
さらに調査を行い「Time MachineでNASにバックアップ」をもとに再度実験を行った結果、バックアップが開始されました。前回の失敗の原因はディスクに実体としてのパーティションが存在していなかったことにあり、NASのファイルフォーマットはLinuxで認識されるものなら何でもいいようです。なお、当然ながらこれらの方法は自己責任で行うハイリスクなものであり、故障しても誰も助けてはくれません。私も記事で触れるため実験だけはしてみたものの、長期間運用するリスクまで負う気にはなれませんでした。そのため実験終了後さっさと消して、バックアップ先を元に戻しています。自分でいろいろいじるより、メーカーの保障があるバッファローのTimeMachine対応NASやTimeCupsuleを買ったほうが確実ですからね。

Kigen ver 1.7.0 リリース

2009年03月26日
賞味期限(+在庫)管理ソフトKigen および Kigen Lite ver 1.7.0 がiTunes Store で販売開始しました。カテゴリーはライフスタイルです。バージョンアップの概要は以前に掲載したとおり、

  1. エディットモードでセル本体のタップでも編集画面に移動するようになりました。
  2. リストビューに絞り込み表示機能を追加しました。(左の写真)
  3. 期限一覧メール送信でメール送信時認証への対応をしました。(開発中のTiny3D新バージョンと同様 POP before SMTPとSMTP-AUTHのPLAINおよびLOGIN認証をサポート)
  4. ヘルプ以外をフランス語、ドイツ語、イタリア語、スペイン語表示に対応しました。
  5. その他細かな修正。

となっています。下のリンクをクリックするとiTunesが起動し販売ページが表示されます。以前の記事で書いたイタリア語やスペイン語もiTunesのアプリ紹介ページの対応言語欄に含まれているので、あのローカライズ追加方法で問題なかったようです。

【Kigen】(ソフト側での保存数制限なし。SQLite3側の限界まで保存可能。有料版。)
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291974746&mt=8

【Kigen Lite】(Edit View画面で2項目まで保存可能。無料版。)
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=294758773&mt=8


ローカライズ用のフォルダ名

2009年03月25日
XcodeでLocalizable.stringsの情報を見るとローカリゼーションを追加というボタンがあります。
英語、日本語、フランス語、ドイツ語についてはボタンを押した後に選択肢があるので簡単に追加できます。今回の1.7.0へのバージョンアップでKigenの内部表示くらいは機械翻訳でもいいからフランス語やドイツ語にも対応させようと思い、某翻訳サイトを覗いてみると、イタリア語やスペイン語も翻訳できるタブがありました。イタリアの有料版ユーザーもいることだし、このあたりも対応させてみようかとは思ってはみたものの、選択で追加できないものはどんな名前を付ければ認識してもらえるのだろうという疑問が発生しました。まあとりあえず駄目もとで試してみるかと、イタリア語はItalian、スペイン語はSpanishで追加をしてみたところ、あっさり認識されました。全部の言語が英語での言語名で認識してくれるのかはわかりませんが、少なくともイタリア語とスペイン語については実機でも動いたため、これで問題無いようです。

LiteSSEN02.jpgLiteSSFR02.jpgLiteSSGE02.jpgLiteSSIT02.jpgLiteSSSP02.jpg

メールサーバーの個性

2009年03月23日
このところの相次ぐバージョンアップにより、現在リリース中の全ソフトがメール送信機能を持つ事になりました。これまで自分の自宅で契約しているインターネットプロバイダのメールサーバーで実験を繰り返していましたが、ある事情により別のメールサーバー用のアカウントを取得しました。そこで試しに実験をしていくと、今まで試していたメールサーバーと挙動が違う部分があることが判明しました。仕様のドキュメントなどに記載されているのかもしれませんが、今回判明したのは以下の2点でした。

  1. POPサーバーにリスト送信要求をした場合、一回の受信で最後まで受信できるサーバーもあれば、2回目の受信で".+CR+LF"だけを受け取る必要があるサーバーもある。
  2. メール送信時にテキスト送信でCRなしでLFが送信された場合、エラーを返して送信失敗になるサーバーもある。

私のソフトの場合、メール添付のファイルはどちらもテキストファイルのため、ファイルサイズを減らそうとBASE64でのエンコードは行っていません。そして、一度NSMutableStringにテキストを一気に生成し、文字数区切りで送信させていました。運悪くその区切りがCRとLFの間にある場合、CRを伴わないLFが送信されたと判断され、送信が失敗したものと思われます。結局これはNSMutableArrayに一行ごとにテキストを格納する事にしたところ、エラーを回避できるようになりました。サーバーの振る舞いにも個性があるものなのですね。ネットワーク関係で買った某参考書にはこれらのことは載っていませんでしたので、ちょっと驚かされました。

Tiny3D 1.3.0 ようやくリリースになりました

2009年03月19日
お待たせしましたが、ようやくリリースされました。価格改定も行っています。

Tiny3D iTunes用ショートカット(リンクをクリックするとiTunesが起動します)
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=302549401&mt=8

iPhone OS 3.0 速報

2009年03月18日
 現在アメリカで発表中のiPhone OS 3.0ですが、どうやらとんでもないことになっているらしい。何でも100の新機能があるとか。その中にはこれまで何かと批判を受けていたコピー&ペースト機能も入っています。アップルにとってはiPod touchこそが他社のネットブックに該当するものだったのか、と思えるような機能アップが行われているようです。デベロッパー用のβ版は全デベロッパーに対して本日公開となるそうです。iPhone 3Gは無料でアップデート可能でiPod touchは9.95ドルでアップデート可能なのだとか。2.1などのバージョンアップをしている私のようなiPod touchユーザーの場合どのような扱いになるのか気になるところです。まあ、これだけ機能アップするなら有料でもいいか、という気もしますが。

なお、新規に追加になるAPIは1,000個だそうです。全部使うなんて事は無いとは思いますが、新APIを使いこなすまでには覚えなければならないことが多数ありそうな気がします。また英語ドキュメントと格闘することになるのでしょうか。リリース済みの部分でも日本語の情報は少ないんですけどね。そのせいかこんな個人の備忘録に検索経由でアクセスされる方も結構います。

追記
3.0は現在β版なのでデベロッパーには秘密保持義務が発生します。よって正式版リリースまで、3.0にしか含まれないAPIなどは記事にできません。このブログの内容もこれまで通りリリース済みである2.2.1までとなります。上に書いたような内容は現在あちこちのニュースサイトでも載ってるので問題ないと思いますが。

デバッグのときだけコンソールに出力する

2009年03月16日
変数の内容確認のためにNSLogなどでコンソールに出力出来るのはとても便利です。ただ、リリース用のビルドをした時にこれらが残っていると、最終的にはAppStoreに並べたソフトが陰でログを吐きまくっているなどという事態が発生しかねません。開発をやっていない人が実機のコンソールを覗く事はあまり無いかもしれませんが、リリース用のビルドをする時にはこれらをコメントアウトしておくのが礼儀というものでしょう。とはいえ、いちいちコメントアウトしたり、それを解除したりするのは面倒なのでこの操作は自動化してしまいましょう。

まず、プロジェクトの情報を開きます。署名を切り替えたりするところです。そこの一番下までスクロールさせたところに、ユーザ定義というセクションがあります。構成をDebugに切り替えて、左下の歯車のマークをクリックして「ユーザ定義の設定を追加」を選んで行を追加します。そこで、追加された行の設定をGCC_PREPROCESSOR_DEFINITIONSに、値をDEBUGに変更します。次に自分がデバッグ時だけログを出したいメソッドファイルの頭に、以下のような行を挿入します。

#ifdef DEBUG

#define NSLog_for_DEBUG NSLog

#else

#define NSLog_for_DEBUG

#endif


これを入れておくと、これより下の部分に書いたNSLog_for_DEBUG(〜はDebugでビルドしたときだけNSLog(〜として機能し、Releaseでビルドした時には機能しません。このため、そのあとでReleaseからAppStore用の構成を作ったとしても、そちらでログ出力が行われる事もありません。プロジェクト全体をNSLog(で検索すれば、自動切り替えを行っていないところだけがピックアップできるので、それらの含まれているメソッドファイルにも上にある5行を挿入し置換を進めていけば、今までに作ったNSLog命令を全てデバッグ時のみ機能するように変更できます。こうしておけば、リリース版でログ出力をコメントアウトし忘れた、などといううっかりミスを無くせますし、コメントアウトをしたり戻したりといった手間もかからなくなります。エラーレポートがリリース版でも必要ならそこだけをNSLogのままにしておけば、リリース版でもログが出力される状態のままにできます。

追記
条件分岐をさせた上でログを出力しているため、それら条件分岐の部分もリリース版ではいらない部分になるという場合もあります。この場合は#ifdef DEBUGの行と#endifの行を直接メソッド内部に挿入し、リリースではいらなくなる部分をこの2行の間に入れます。こうすることでその部分がリリース用では無視されます。中括弧の数合わせが狂わないように挿入位置には十分注意しましょう。