スクリーンショットにまつわるメモ

Macでの話。

ショートカットキー

  • cmd + shift + 3 で画面のスクリーンショット。
  • cmd + shift + 4 で選択範囲をスクリーンショット。
    このときスペースバーを押すと選択ウィンドウをスクショするか切り替えできる。クリックするとスクショが撮れる。
    ただ普通にすると、ウィンドウの影も撮ってしまう。
    これを回避するにはクリックする際に、optionキーを押しながらクリックする。これで影のない選択ウィンドウのスクショが撮れる。

詳細な話

スクリーンショットしたときの名前や保存先の変更
https://susu.mu/archives/73

ググってよく出てくる記事では名前と日付の間にスペースが入ってしまう。
日付だけにすると、日付の前にスペースが入ってしまう。
これを避けるために上の記事を参考にしました。

OSをアップロードすると設定がリセットされるようなので、備忘録として。

Coreな部分をいじるので、一筋縄では行かないかも。
そんなときは以下を参考に。
https://qiita.com/iwaseasahi/items/9d2e29b02df5cce7285d

iOSアプリの設定で変数など管理

iOSアプリを作ったときに、
アプリを入れたあとで、コンテンツの中身を書き換えたい場合。

たとえば、
OSCを使うためIPアドレスをアプリに設定したい。
アプリの向きを変えたい。
デバッグモードのトグルで切り替えたい。
などなど。

上みたいな設定ができると、作ったアプリにちょっと愛着わいてモチベ上がる。

サイネージのお仕事でiPadなどの端末からコンテンツを操作するということが
最近ふえたので、そのときにしておくと親切なTipsです。

openFrameworksでiOSを開発する際にはofxSettingsが便利でした。
https://github.com/prossel/ofxSettings

 


詳細な設定は文末の参考リンクにまるなげ。

設定の大体の流れは、
1. srcなど右クリックでSettings.bundleファイルを追加する。
2. Root.plistに表示したい項目を追加。
3. Keyの値を利用して、端末の設定画面で入力した値をアプリ起動時などに変数へ格納する。(ofxSettingsではSettings::get~()で取得)
4. 取得はせず設定画面に表示したいだけの場合はKeyの値を利用してSettings::set~()で。
5. ビルド時の情報を表示させたい場合は、BuildPhases

 

APP_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $PRODUCT_SETTINGS_PATH)
/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:9:DefaultValue ${APP_VERSION}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Settings.bundle/Root.plist"

date=$(date "+ @ %Y.%m.%d %H:%M")
BUILD_NUMBER=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $PRODUCT_SETTINGS_PATH)$date
/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:10:DefaultValue ${BUILD_NUMBER}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Settings.bundle/Root.plist"

RunScriptで上のような記述をします。
1行目:APP_VERSIONという変数にxcodeで指定しているアプリのバージョンを代入
2行目:plistのitem9DefaultValueをAPP_VERSIONに書き換え
みたいな感じでしょうか。
何項目め、みたいな指定しかできないのかな。ちょっと調べてみたけどなさそう?

xcodeからAddRowとかして追加するとなんか表示変になっていたりすることがあるので、plistファイルを他のエディタで開いてxmlとして直接編集した方が無難かも。
xcodeで編集できる方がitemのナンバーとかわかりやすいけど。

‘date=$(date “+ @ %Y.%m.%d %H:%M”)’ などを追加して
ビルド時の日時なども記載しておくとデバッグなどでは便利かも
http://goozenlab.com/blog/2015/02/06/versionning/


参考
https://dev.classmethod.jp/smartphone/iphone/settings-bundle-acknowledgements/
https://qiita.com/akatsuki174/items/392cb3be619fabfa4608

 

IPアドレスを取得する_oF_osx(C++)

openFrameworksなどでアプリを動かしているPCのIPアドレスを取得したい。

Mac OSXの話。
参考(というかほぼまるまる):
http://www.geekpage.jp/programming/linux-network/get-ipaddr.php

oFなどでofMain.hをincludeしていれば
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>
#include <arpa/inet.h>
のインクルードでOK

ネットに繋がっていない場合は
255.127.0.0
とか返ってきた。(要検証)

ネットに繋がっていない状態でも何かしらそれっぽいIPアドレスが返ってきたので、
[*] check good IP のところで、最後の値を見て、感でぽい処理を追加しただけ。

OSCを使うとき、IPアドレスで確認して接続+立ち上げするようにすれば、
とっても親切で徳が高い。

ちなみにiOSでも上のコードで取得できた!シンプルでよき。

WindowsではWinsockを使うとできそう。
個人的にはいまのところ需要ないので、またこんど。
https://clown.hatenablog.jp/entry/20081225/p1