ざ~ちゃんブログ

プログラマーです。 富山県の旧細入村でリモートワークしてます。 プログラミングとPerfumeと動画制作が大好きです。

Macのメニューのスクリーンショット&スクリーンショットの影を消す

この記事を参考にさせていただきました。
Macのキャプチャ機能でディスプレイ画面の一部のスクリーンショットを撮る方法

メニューのスクリーンショットを撮りたい場合、基本は「一度メニューを出してから『Command+Shift+4+Space』のカメラカーソルで撮影」でOKです。
the Redのブログ

で、今やりたかったのは「Optionキーを押した状態でのメニューのスクリーンショット」なのですが、メニュー開いてOptionキー押したまま「Option+Command+Shift+4+Space」やってもスクリーンショット撮れません。でもメニュー開いて「Command+Shift+4+Space」押したあとにOption押しても、メニューはOption押した状態になってくれません。

…と最初は思ったのですが!
Optionキーを押しながら我慢して数秒待っていると、Optionキー押した状態のメニューに変わりました。「ライブラリ」が増えてるでしょ?こんなんでMacの処理が重たくなるとも思えないし、数秒待つ理由はよく分からんですが。
the Redのブログ

さらに、メニューアイテムの上にマウスポインタ置いて数秒待つと、
メニューアイテムを選択した状態でスクリーンショット撮ることも可能です。
the Redのブログ

あれ~、このブログプレビューしてみて気付いたけど、Optionキー押して撮ったスクリーンショット、影が付いてないね。
Macのスクリーンキャプチャ機能で撮影したウインドウの影をなくす方法
こんな記事もあったけど、どうやらこんな裏技使わなくても、Optionキー押した状態でウインドウのスクリーンショット撮れば、その時だけ影付かなくなるみたいです。もしかしてLionからなのかな?

ぢゃあ「Optionキー押してメニューのスクリーンショットを影付きで撮る」はどうするのだろう?
別に影付いてても付いてなくても今はいいからこれ以上は調べませ~ん(笑)
誰か分かったら教えてください。

実はあることをブログに書こうとして、メニューのスクリーンショット載せたいのに撮れねぇよ!って思って色々試した結果、別記事が書けてしまいました(笑)
3つめのスクリーンショットを使った記事を、今日中にもひとつアップします!

--
2011/08/31 追記

上に書いてた謎が解けました。「Optionキー押して数秒待たないとOptionキー押した状態のメニューに変わらない」という、これこそがヒントでした。

Optionキー押してからメニューが変わるまでの数秒の間にスクリーンショットを撮れば、影無しで標準のメニューが撮れます。

the Redのブログ
いえーい。

逆に、Optionキー押して数秒待ち、Optionキー押した状態のメニューになったあと、Optionキーを離してすぐにスクリーンショット撮ると、「Optionキー押してメニューのスクリーンショットを影付きで撮る」ことにも成功しました!
$the Redのブログ
いえーい。

要は、「デフォルト項目・Optionキー項目」の両方を「影付き・影無し」でスクリーンショット撮れるように、Optionキー押してもすぐにはメニュー項目に反映されないようになってるのですねー。

さてさて、もう一つ新事実発見。スクリーンショットの撮り方次第で、画像が細長い状態で撮れることがあります。
$the Redのブログ
影付き

$the Redのブログ
影無し

本当はこの細長い画像がいつものメニューのサイズで、正解なのです。メニュー開いた状態で「Command+Shift+4」押すと、一度メニューはShift押した状態のこんなメニューに変わるんですね。
$the Redのブログ

この「デスクトップの起動ディスクを選択」を表示させるために、横幅が広がります。でそのあとShiftを離すと、デフォルトの「内包しているフォルダ」に戻るのですが、何故か横幅は戻りません。横幅戻らないのはスクリーンショット撮ろうとしてない場合も一緒ですね。これバグっぽく見えるなぁ。

広がった横幅を元に戻すには、そのまま隣の「表示」メニューとかにマウスカーソルを移動させて隣のメニューを出したあと、また元のメニューにマウスカーソル合わせると、通常の細いサイズに戻っているのですね。横幅にこだわりたい人は、一度隣のメニューに合わせてから目的のメニューに合わせ直しましょう。

後半ひじょ~にマニアックなネタになってしまいましたね(笑)
誰かのお役に立てば幸いです( ´ ▽ ` )ノ


実家に泊まろう 結婚披露宴余興ビデオ

保育所・小学校・中学校・高校と一緒だった女友達が6月に結婚したんですけど、披露宴の余興で流したビデオをアップしちゃいました。

俺は披露宴には出席してないんですけど、編集やってとみんなに頼まれて丸一日がかりで編集。ナレーションまで吹き込みました。あと、二次会の幹事・司会もやりました。披露宴呼ばれてないのに(笑)

上映中はすっごい盛り上がったらしいですよ(^^)v そん時の場内の様子撮ったビデオ早く見せてくれないかな~。

かっちゃん、えーちゃん、結婚おめでとう!幸せになってくださいね( ´ ▽ ` )ノ


地元の消防団のCM作りました

俺が所属する「庵谷消防団」のCMです!
地区の中に一人だけ消防に入ってない若者がいまして、
「団員募集中」の対象は彼一人だけですが(笑)
消防では地元の人たちと楽しくやっておりますよ( ´ ▽ ` )ノ


フォルツァ総曲輪の原発フォーラム(2011/7/30のツイート)

フォルツァ総曲輪で原発フォーラムに参加して来ました。反原発の意見が圧倒的な中で、火を克服したように原子力を克服するために頑張る選択肢もあるんじゃないかと発言しました。自分自身の考えとしては、廃止か継続かどっちつかずだとも正直に言いました。

人類の科学の進化は止まらないし、科学技術の使い方に失敗して人々が傷ついたこともたくさんありました。でも乗り越えて来ました。大きな事故が起こったから全部やめちまえってのは短絡的だと思うんです。あと、ヒステリックになりふり構わず反対運動するのは逆効果だと思うんです。

この先原子力を克服できる日を信じたくもあり、かといって自分が原発事故の避難者になったらと考えると怖ろしくもあり、今日のフォーラムを終えてもまだどっちつかずのままです。

事故起こった直後は「原発やめちまえ」と思ったのですが、ホリエモンのブログ読んで色々考えさせられ、、それから迷い続けてます。
俺たちは火を初めて使った動物の末裔である。|堀江貴文オフィシャルブログ「六本木で働いていた元社長のアメブロ」

ブログ始める前にTwitterに投稿した内容ですが、残しておきたいので今日の日付でブログに書きました。

○○としてではなく●●として?

よく、「今のは○○としてではなく、●●として言ったことだ」と言い訳して「○○」としては全然ふさわしくないこと言う人いますけど、そういうの好きじゃないです。

その人は「○○であり、かつ●●である一人の人間」なんだから、「○○」であることを差し置いて「●●」としてだけで発言するのはどうかと思いますね。「○○としてではなく」って言われると、じゃあお前は何なのよ?って思ってしまいますね~。

Lion+Xcode 4.1でCreated byに表示される名前の変更方法

さっきまで飲み会やってましたが、
性懲りもなく、酔っ払ったまま本日4回目のブログ更新であります!

Xcodeで新規ソース作った時にヘッダーコメントの「Created by」に表示される名前ですが、
これを変更する方法が従来と違うようなのです。

ネットの記事を読むと、このブログ書いた時点ではどこの記事でも
「システム環境設定」→「アカウント」の「フルネーム」に書いた名前が
Xcodeの「Created by」に反映されるとなっているんですが、
Lion+Xcode 4.1では、そこを変更しても関係ありませんでした。

「Copyright」に入る会社名は、
「アドレスブック」の「自分」の「会社名」になる仕様です。
これは現在も変わりません。
もしかして…と思って、「アドレスブック」の「自分」の「名前」を変更してみたら、
「Created by」に反映されました!!!

Lionでの変更か、Xcode 4.0/4.1での変更かは分かりませんが、
現在「Created by」には、「アドレスブック」の「自分」の「名前」が反映されるようです。
「Copyright」と共通の場所にしたかったんでしょうかね。

さて、これが分かったところで思ったのですが、
やはり実名主義が進んでいるのかなぁ、と。
アカウントのフルネームはハンドルネームっぽいのを設定してるとしても、
アドレスブックの自分の名前はリアルな名前入れてる人が多いんじゃないでしょうか。

このブログ書く時にソースのハードコピーを載せることがたびたびあると思いまして、
実名は公開したくないと思って、変更しておこうと思ったんですが、
アドレスブックの自分の名前に「the Red」って入れるのもどうかなぁ…と思う次第です。

どのみち、iOSアプリを正式公開する時は堂堂と実名で公開するつもりなので、
ブログでも公開してもいいのかな。
近々本名晒すと思いますが、まだ内緒にしときます(・∀・)

1:56AM追記
「本日4回目のブログ更新」とか申し上げましたが、
すでに日付が変わっておりましたので、8/12の投稿は3つ、本日としては1つ目の投稿でございました。
お詫びして訂正いたします。誠に申し訳ありませんでした。(゜Д゜)

 

Program received signal: "SIGABRT"

ハマったとこは全て記録残す覚悟でブログを書きます!

ボタンにIBAction設定して、ボタン押したらラベルが変わる簡単なプログラム作ったのですが、
ボタンを押すと、落ちます!

main.mのソースが表示され、

int retVal = UIApplicationMain(argc, argv, nil, nil);

の横に緑色のコメントで
Program received signal: "SIGABRT"

と出ます。
71625dd4.png


コンソールログはこんな感じ。

2011-08-12 17:57:49.613 HelloWorld2[2673:b303] -[HelloWorld2ViewController tapBtn:]: unrecognized selector sent to instance 0x689b400
2011-08-12 17:57:49.616 HelloWorld2[2673:b303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[HelloWorld2ViewController tapBtn:]: unrecognized selector sent to instance 0x689b400'
*** Call stack at first throw:
(
0 CoreFoundation 0x00dc05a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x00f14313 objc_exception_throw + 44
2 CoreFoundation 0x00dc20bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x00d31966 ___forwarding___ + 966
4 CoreFoundation 0x00d31522 _CF_forwarding_prep_0 + 50
5 UIKit 0x000124fd -[UIApplication sendAction:to:from:forEvent:] + 119
6 UIKit 0x000a2799 -[UIControl sendAction:to:forEvent:] + 67
7 UIKit 0x000a4c2b -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
8 UIKit 0x000a37d8 -[UIControl touchesEnded:withEvent:] + 458
9 UIKit 0x00036ded -[UIWindow _sendTouchesForEvent:] + 567
10 UIKit 0x00017c37 -[UIApplication sendEvent:] + 447
11 UIKit 0x0001cf2e _UIApplicationHandleEvent + 7576
12 GraphicsServices 0x00ff9992 PurpleEventCallback + 1550
13 CoreFoundation 0x00da1944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
14 CoreFoundation 0x00d01cf7 __CFRunLoopDoSource1 + 215
15 CoreFoundation 0x00cfef83 __CFRunLoopRun + 979
16 CoreFoundation 0x00cfe840 CFRunLoopRunSpecific + 208
17 CoreFoundation 0x00cfe761 CFRunLoopRunInMode + 97
18 GraphicsServices 0x00ff81c4 GSEventRunModal + 217
19 GraphicsServices 0x00ff8289 GSEventRun + 115
20 UIKit 0x00020c93 UIApplicationMain + 1160
21 HelloWorld2 0x00002019 main + 121
22 HelloWorld2 0x00001f95 start + 53
)
terminate called throwing an exceptionsharedlibrary apply-load-rules all
Current language: auto; currently objective-c
(gdb)


この原因は、添付したハードコピーの部分です。(都合良く絵文字があったもんだw)
5cfc049c.png


引数ありで一度IBActionに接続してて、
そのあとソースのIBActionだけを削除して、引数無しでIBActionに再度接続してたのです。
この時引数有りの接続が消えてなくて、対応するソースが無い状態でした。
実行時に引数有りIBActionを呼ぼうとして落ちてたと考えられます。

というわけで、の部分の×ボタンを押して引数有りの接続を削除してやると、解決しました。

初心者で俺みたいにハマる人がいたら参考になればと思って書いてますが、
俺の勉強が一向に進まんw

 

Assistant Editorへのドラッグ&ドロップでIBActionが作れない

記念すべき開発ブログ第一回です。

さっきちょっとハマった点について。

Xcode 4 移行ガイド:Xcode 4 におけるユーザインタフェースのデザイン
このページの真ん中過ぎたあたりに、
「Interface Builder オブジェクトとソースコードを直接接続する」
というのがあります。
Xcode 4では、Assistant Editorを使って
IBOutletとIBActionの文をドラッグ&ドロップで挿入できるとのこと。
Xcode 4から入った僕はふ~んて感じですが、Xcode 3の時はもっと不便だったようです。

さてさて、読んでた本の通りにやってみたつもりなのですが、
IBOutletは挿入できるのにIBActionが挿入できなくて30分くらい悩んでしまいました。
理由は簡単で、Labelをドラッグしてたからでした。
Labelは単なる文字表示するだけなので、
Actionなんか何も出来ないから選択肢にもAction出てこないんですね。
Round Rect ButtonとかSegmented Controlで試すと、ちゃんとIBActionが挿入できました。

読んでた本はこれです。


P.61~62の「方法3」に今の件について書いてあります。
よく見ると、IBActionを挿入してる時に使ってるオブジェクトは
LabelじゃなくてRound Rect Buttonぽいですね。
一言書いてくれりゃいいのによぉ。。。

ブログはじめました

Twitterがあればブログいらないと思ってたんですが、
Twitterって一定期間過ぎるとつぶやき消えちゃうので、
ずーっと残したい物はブログに書くべきだと思ったのではじめてみます。
mixiとも連携しております。

当面はiOSアプリ開発の技術的なこととかを中心に書こうと思います。
一応「Perfume」テーマも作るだけ作っときましたw