Brew the Mash

クラフトビール好きなITエンジニア@mashmorgan_jpの開発メモなど

【Mac】KiCadのFreeRouter(freerouting)でJavaエラーが発生してしまう

先日、KiCadセミナーを受講したのですが、その際にMac環境ならでは?なのか、標題の問題に悩まされました。受講後に調べてなんとか解決できたのでメモがてら記載しておきます。

環境

  • MacOS Sierra 10.12.6
  • KiCad 4.0.7 (stable)
  • Java8 (build1.8.0_144-b01)

KiCadのpcbNewにて、freerouting*1を使おうと思い、事前設定を行いこのサイト からfreerouting.jarをDLして実行してみたが 以下のエラーが発生。

java.lang.ClassException: java.awt.geom.Rectangle2D$Double cannot be cast to java.awt.Rectangle

どうやらJava環境は問題ないみたいだが、jarファイル側の修正が必要そう。

日本語の情報があまりなかったので海外サイトをみてみると、ここにそれっぽい記載が。

https://www.bountysource.com/issues/45463145-java-awt-geom-rectangle2d-double-cannot-be-cast-to-java-awt-rectangle

ここのコメントを参照し、以下より新しいjarファイルを取得したところ私の環境では無事動作しました(回答者はまだ動かないと記載してましたが)。お困りの方いらっしゃればこれで解決できるかと思います。

https://github.com/freerouting/freerouting/files/1282814/freeroute.jar.zip

*1:※FreeRouterとは、KiCadで自動配線してくれる便利ツールです

【iOS】iTunes Connectにアップロードしたはずのビルドが表示されない件

標題の件で小1時間悩んだので結果をメモしておきます。

環境

Archive作成時やiTunes Connectへのアップロード時は特にエラーが表示されずSuccessとなっていましたが、何故かiTunes Connect側のビルドに待っても待っても表示されませんでした。

Appleからのメールを見ればわかったんですが以下の状態でした。

Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.

つまりInfo.plistのPrivacy設定が足りてなかったんです。 (それならビルド時にエラー出して欲しかった。。。)

Info.plistを修正して再度アップロードすると無事にiTunes Connectのビルドに表示されました。

【Mac】SierraにアップデートしたらKarabinerが動作しなくなった問題

そろそろアップデートするかと手を出したものの、キー操作とマウス操作が変わってる。。。 というかKarabinerが動作してないことが判明。 このままだと通常業務に支障が出るので対策を調べてみた。

まあKarabinerは現在アップデート中らしいのでそれを信じるとしてつなぎで使えるものをご紹介。

IME切替

 →「⌘英かな.app」

⌘英かな

・BTマウスのスクロール方向変更

 →「Scroll Reverser.app」

Scroll Reverser for macOS

使った感想としてはむしろKarabinerが不要・・・? そこまでガッツリカスタマイズしていない方にはオススメです。

【iOS】Swift3+XCode8に変換した際に発生したエラーの対応

(メモレベルで申し訳ございません) 私も遅ればせながら過去プロジェクト(Swift2+XCode7)を変換したら大きく以下3つのエラーが発生。 それぞれ対応した内容をメモしておきます。

1. "Ambiguous use of init"が発生

"Ambiguous use of init"は以下で対応。「_ = 」をつけただけ。 https://stackoverflow.com/questions/39579121/swift-3-and-xcode8-ambiguous-use-of-init

2. iTunes Connectにアップロード後にWatchKitのPNG画像がダメよメール

WatchKitで使用していたPNGにアルファが含まれていたため削除。 →私はMacなのでプレビューからアルファのチェックをOFFにして書き出し。

3. CoreBluetoothを使用していたらplistに記載が足りないメール

NSBluetoothPeripheralUsageDescriptionをplistに追加しろうんたらとメールが来ました。 以下参照にplistにStringを追加したら通りました。 http://dev.classmethod.jp/smartphone/iphone/ios10-privacy-data-purpose-description/

取り急ぎ同じ悩みの方へご参考までに。

【Mac】FileZillaでFTP接続が異常に遅かった件

自分用のメモ。 FileZillaを使ってて、あるサーバーだけ異常に接続とか転送が遅かったのでサーバー要因だと思ってましたが、ログと設定をよく確認してみたらSFTPでなくFTPで接続していたのでセキュリティ警告が発生してました。。。 完全に自分の設定ミスですがこういうところは意外と見落としがちなので気をつけよう。(自戒)

【PHP】cakePHP3をMacに入れようとしたらintlエラー

サーバー上でのインストールは簡単に出来たけど、ローカルMacにcakePHP3環境を作ろうとしたら思ったよりハマってしまったのでメモ。

composer経由でcreate-projectしたら以下のようなエラーが出た。

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - cakephp/cakephp 3.2.9 requires ext-intl * -> the requested PHP extension intl is missing from your system.

ググると新旧色々な情報があるけど、Homebrewを導入済みだったら自分の環境のphpバージョン(php -vで確認可)のphp-intlをインストールするだけでした。(私はPHP ver.7.0.6だったので70)

$ brew search intl
$ brew install php70-intl

もししばらくHomebrew使ってなければbrew updateも忘れずに。 あとcomposerのキャッシュが悪さをしている場合はcomposer clearcacheでキレイになります。

【PHP】CakePHP3でForm Helperの<div>タブが削除できない

小1時間悩んだのでメモがてら。
(もし解決法ご存知の方がいたらコメントもらえると嬉しいです)

今の開発でCakePHP3を使っているのですが、CakePHP2で出来てた事が色々出来なくなっている印象。。。 Form Helperの<div> タブ削除もこの1つでしょうか。



■変更前

<?=$this->Form->submit('決定', array(
              'div' => false
            )) ?>

どうしてもこうなっちゃう・・・

<div class="submit"><input type="submit" value="決定"/></div>



なので以下のようにしたら結果的に<div>タブ無効に出来ました。

■変更後

<?=$this->Form->button('決定', array(
              'type' => 'submit',
              'div' => false
            )) ?>
<button type="submit">決定</button>



何かすっきりしないけど仕方ない。。。