2016年9月8日木曜日

iOS9/10のAutoresizeバグ

UI要素にautoresize設定をしていた場合、iOS8まではviewWillAppear時点でリサイズ後のサイズが取得できたけど、iOS9/10では得られなくなってしまった。

はっきり言ってこんなん仕様変更どころか完全にバグ。


回避策としては、1つはその上に乗せるものもすべてAutoresizeで制御するようにするとか、
KVOでframeの値に代入された時点で取り出すとか、viewDidAppearまで全要素をhiddenにしてサイズを取得、計算後にhiddenを解除するとかありそうだけど、うまくいくかどうかはわからない。

今回は、 最初の「上に載せるものすべてにAutoreseizeされるようする」で回避した。
   view.autoresizeMask=super.autoresizeMask;

Autoresizeはもう使うなということかもしれないけど、こっちのほうが圧倒的に楽。
Autolayoutも少しはわかるようになったけど、要素数が増えるともう管理しきれなくなる。
あんなもん設定するくらいなら、すべての座標とサイズをプログラムで書いたほうがマシ。
Appleには気合を入れて、もっとまともなリサイズ手法を考えてほしい。

viewDidLayoutSubviewsで検知できるという情報もあるが、以下の問題がある。
(1)複数回呼びだされることがある
(2).sizeは確定しているが、.originは未定のまま
なので従来のWillAppearからの単純移動ではうまくいかない。

KVOによる.frame監視も全く同様だった。

autoresizeMaskの設定だけではうまくいかない部分もあり、結局viewDidAppear後に取得し、アニメーションで表示することで見目の問題も回避した。

Bluetoothマウスの動きがおかしい時に確認すること

ある時からBluetoothマウスの動きがどうにもおかしくなった。
マウスを動かしてもカーソルが1秒位遅れて動くのだ。

マウスが劣化しかからかと思って買い換えた。それでもだめなので、ついには
マシンパワーが足りないからかもしれないと思い、思い切って高速PCにも変えてみた。
すると発生しなくなったので「やっぱり」と思ったが、試験設置から本番設置に変えるまた発生した。
こんな高速マシンでも発生するということは、マシンパワーの問題ではない。
一体何が原因?テストと本番の違いは何?
と考えてふと思いつくことがあった。

Bluetoothドングルとマウスの位置関係だ。
テスト時はドングルをつけていたPC背面を横にしてマウスの真横にあった。
本番は当然背面は後ろに来る。
距離が伸びたのだ。
しかしその差はわずか30センチほど。いくらBluetoothでもそんなに届かないはずはない。

WiFiとUSB3が干渉するのは聞いたことがあるがまさかBluetoothもなのか?
と思って調べたら当たり。

結論と回避方法。

USB3とBluetoothは干渉する。
 これはもう仕方ないので、マウスが効くようにするしかない。

うちのUSB3機器はHDDだけだが、これはWindows上の接続を切っていても、ケーブルが刺さっているだけで影響する。 ケーブルやHDD本体から猛烈に電磁波が出ている模様。
干渉すると、猛烈に到達距離が落ちるみたい。

解決法。
1.Bluetoothドングルとの距離を短くすること。
うちでは背面からUSBハブを伸ばして前面に持ってきて、その中でも一番マウスに近い位置にドングルを刺した。これで減少が解消した。

2.Bluetoothドングルとマウスの間にUSB3機器を置かない。
マウスがPCの右側にあるなら、USB3機器は左側にまとめるなど。
電波は距離の2乗に反比例して減衰するので、距離を伸ばせば伸ばすほど効果があるはず。

Mac Miniのように内蔵Bluetoothでは1は無理なので2にするしかないが、2も50センチも離せば効果がある。
 (うちのMacMiniはUSB3機器をすべて新PCに行こうし、距離も離れたからか、マウスは効くようになった。)



他に考えられるのは、
1.内蔵Bluetoothの動作を止めて外つけを使う
2.Logicoolの独自無線ドングルを持ったものを使う(これが干渉しないという保証はないけど)
3.諦めて優先マウスにする
である。
マウスやキーボードだけなら2、3も行けるけど、その他のBluetooth機器もある場合はこうは行かない。USB3ケーブルをアルミホイルで巻いてみるとかもあるかもしれない。

いずれにしても根本的対策はハードウエアメーカー、というかUSB3やBluetoothの規格をした連中にお願いするしかないわけで(順番から言えば、後で規格作ったUSB3側に責任がある)、なんとかして欲しいところ。

同様の現象でお困りの方はお試しを。

2016年4月28日木曜日

vivaldiのバグについて

新しいブラウザVivaldiは軽快でなかなか快適なのだけど、私が使うのに1つ致命的な大バグが居る。

「画像をドラッグして入れようとすると落ちる」
動画も同様。

実際にドラッグして入れるときだけでなく、ブラウザの上を通過するだけでも落ちるため、Vivaldiを開きながら他のソフトでドラッグするときには細心の注意が必要になる。

ところが落ちない場合もあっていろいろ調べてみると、Picasaからドラッグして入れるときに落ちると判明。フォルダから直接ファイルをドラッグした時には落ちない。
Picasaからの画像ドラッグはどうもショートカットを渡しているようで、Vivaldiはその扱いにバグが居るという感じ。追加調査の結果、 Picasaを起動している状態ではフォルダからの直ドラッグでも落ちると判明。要するに、Picasaさえ起動していなければ問題ない。

Chrome/Firefox/IEでは発生しない。Mac版で発生するかどうかは不明。

なので、当面の回避策はPicasaを終了してからドラッグすることしかない。

なお、同じ画像閲覧ソフトでもNikon ViewNXやCanon My Image Gardenでは発生しない。ということはPicasaの方が特殊なのかも知れないけど、超有名ソフトだから、対応して欲しいかと。

・・・

このバグさえ直れば、メインのブラウザをこれに変更してもいい位Vivaldiは良い。
劇遅になってしまったChromeや落ちる頻度が高いFirefoxに比べて高速で安定している。
動画再生時に処理負荷が低いのも好印象。Gyao動画見ながら作業していること多いから。
お勧め。

まあ、他にもちょっと触れば解るようなバグ満載だけど(新しいウインドウで開くを選んでもタブで開かれるとか)。

2016/05/06追記:
最新版1.2.470.11では落ちにくくなったような気もするがやはり落ちる。静止画では大丈夫なこともあるが動画をドラッグすると一発。

2016/05/16追記:
最新版の1.2.479.8では確実に落ちるようになった。全く修正される気配がない。他のバグも顕著化している上にAdblock plus導入時の処理速度が極端に遅くなったので、メインブラウザから外すかどうか検討中。
→Adblockはproにすると速度低下が殆ど感じられなくなった。proでも無料なので問題なし。

2016/05/30追記:
Flashが再生できなくなった。
どうもChromeの32ビット版がインストールされている場合は大丈夫みたい。
うちも以前はそうだったが、前回のChromeのバージョンアップで64ビットにされたのでこうなった様子。
ということで、代わりにここを参考に独立したFlashPlayerをインストール。
うまく行った。そこには書かれてないが、vivaldiの再起動が必要。

2016年4月8日金曜日

QHM(haik)を使うときのXAMPPインストール上の注意(自分覚え書き)

QHM(haik)を使うときのXAMPPインストール上の注意。


・バージョンはPHPがV5.xのものにする
 QHM haikがV7のPHPに対応しておらず、エラーが発生するので
・Apache~Configでhttpd.conf内のListen 80->81に変更
・PHP V7と両方入れてしまったときの環境移行方法
    ・Wordpressはそれぞれでインストール(フォルダをコピーしても動かない)
    ・xampp\apps\wordpress\htdocs\wp-contents下をコピー(\uploadsだけでも良いかも)
    ・http://localhost:81/dashboard/ から phpMyAdminを開く
        左側からbitnami_wordpressを選び、エクスポートする
            設定はここ参照;ただしこれはバージョンが古いためちょっと違う
            http://websae.net/wordpress-backup-without-plugin-20140924/
                デフォルトから変更する重要なのは以下の項目
                Export method:詳細
                出力をファイルに保存する
                    圧縮:zip
                フォーマット特有のオプション:
                    Export views as tables
                    Export metadata
                追加コマンド:
                    CREATE DATABASE / USE コマンドを追加する以外全て

    新しい方でphpMyAdminからインポート

・Skypeが起動しているとApacheは起動できない


どえらく苦労したので、記録。

追記:
新しいブラウザVivaldi v1.0xではphpMyAdminが開けない。PHPで生成されるHTMLに何かしら問題があるような気がするけど、このあたりは全く解らないので詳細不明。現状、XAMPPはVivaldiでは使いにくいということで。

2016年3月11日金曜日

Google Chromeでマウスホールが効かない場合の解決法

Logicoolのマウスを使っていて、Google Chromeでマウスホイールは効かない場合、
Chromeにアドインで入るSet Pointが原因なので、。それを外してChromeを再起動すると一応効くようになる。「一応」と書いたのは、効かない場面もあるから。

Ztopを導入している場合は、これのために効かなくなる。この場合、Ztopに以下の設定を入れて回避する。

ホイール個別設定に新規で1つ追加。タイトルは「Chrome」とでもしておく。
この設定を利用するにチェックを入れる
クラス名:Chrome_RenderWidgetHostHWND
「ホイール転送を許可する」と「透過してホイールを転送する」もチェックすると良いかも。
 他は全部外す

これでホイール個別設定有効をチェックしておく。
これで解決。

Windows10で不具合を起こすソフト

Windows10で不具合を起こすソフトを列記しておく。
なお、当方ではWindows10はお払い箱にしたので、今後検証や回避法調査は不可。

・Justsystem製品でヘルプ時に必ずインストールを求めてくる問題の解決策
Windows10ではうまくいかない

・Ztop/64
「ホイールを直下のウインドウへ送る」をONにしているとEdgeや設定などでホイールが効かなくなる

・Chrome
検索が応答しないことがある
→Chrome49のバグ。 Windows7でも多発。

・てきぱき家計簿マム7
アップデートが出来ない

・ラベル屋さんHOME8
アップデートが出来ない

・RamPhantom
NTFSに出来ないことがある。FATならOK。

・Canonプリンターの付属ソフト
対応したプリンターがないと言われることがある。Windows8対応ドライバを入れ直す。

・やさしくデジタルファイリング9
ファイルアイコンがおかしくなる。

・テプラの付属ソフト
印刷画面が出ない

2016年2月8日月曜日

Windows10が休止から勝手に復帰するときの対処法

以前「Windows7が休止から勝手に復帰するときの対処法」というのを書いた。こことASAHI-NETのブログにもアップした。

で、Windows10にしたら、また発生するようになってしまった。電源周りの設定はWindows7の時のままなのに。どうも10特有の問題がいるらしい。ということで、その対処方法。

・・・

Windows10で休止が勝手に開けてしまう理由は「WindowsUpdate」と「MediaCenter」。前者は10では自動化されているのだが、それが悪さしている。後者はMediaPlayerの一機能が勝手に起動している。これはWindows7からアップデートした時だけだが、Windows7上でその機能を止めていても10に移行した時に勝手に入ってしまう。ということで、それらを止める。

(1)スタート~Windows管理ツール~タスクスケジューラーを起動する
(2)左側のタスクスケジューラライブラリ~Microsoft~Windows~UpdateOrchestratorを選択
(3)中央からRebootをダブルクリック
(4)Rebootのプロパティが開くので、「条件」のタブで「タスクを実行するためにスリープを解除する」のチェックを外して「OK」。
Reboot設定
(5) 「トリガー」のタブで指定日時を選択、「編集」で開き、「有効」のチェックを外して「OK」。


(6)左側のタスクスケジューラライブラリ~Microsoft~Windows~WindowsUpdateを選択
(7)中央からAutomatic App Updateをダブルクリック
(8)「条件」のタブで「タスクを実行するためにスリープを解除する」のチェックが入っていたらを外して「OK」。
(9)中央からScheduled Startをダブルクリック
(10)「条件」のタブで「タスクを実行するためにスリープを解除する」のチェックが入っていたらを外して「OK」。ここでエラーが発生するときは無視しても問題ない(と思う)。

(11)左側のタスクスケジューラライブラリ~Microsoft~Windows~Media Centerを選択

(12)中央からmcupdate_scheduledをダブルクリック
(13)「条件」のタブで「タスクを実行するためにスリープを解除する」のチェックを外して「OK」。

(14) 「トリガー」のタブで毎日を選択、「編集」で開き、「有効」のチェックを外して「OK」。


手間は多いけどやることは同じ。スリープ解除をさせないのと有効を外す。

ところが、これを設定してもまだ勝手に起動することがある。その理由は、「WindowsUpdateが上記設定を勝手に戻す」から。 なので、WindowsUpdateを済ませた後には再度この設定を確認する。殆どはReboot内2つの再設定だけでOK。
 
なお当然のこととして、これをするとWindowsUpdateは自動ではかからなくなるので、手動で行う必要がある。

起動時または休止明けにチェックするというオプションがあればいいじゃん、と思うのだけど、なんで勝手なことするかなぁ、MSは。「小さな親切、大きなお世話」というのがまだわからんのだろうか。今までさんざん失敗して叩かれてるのに。

2016年2月6日土曜日

Windows10の互換性とか問題点とか

で、苦労して導入したWindows10だけど、果たしてその導入価値があるかどうかである。
今のところ「私にとっては価値はない」というのが概ねの感想。なぜか。

(1)遅い。
とにかく反応が遅くなった。起動も遅い。うちの別のマシンは起動がものすごく早くなったのだが、BootcampのMacでは全く早くならないどころかかえって遅くなった。一から起動も休止明けも。起動だけでなく、起動後の反応も全体的に遅い。起動が早くなるのは、ドライバをすべてWindows10用にしなければならないのかもしれない。

(2)文字が綺麗でない
Windows7の標準フォントのほうが数段綺麗。Windows10の標準フォントはなんか妙に縦長で小さくて見みにくい。他の人もそう思うようで、こんなツールもある。Windowsシステムフォントはこれで大方変更されるけど、一部まだおかしいところがあるし、アプリごとにフォント設定を持っているものは影響が及ばないので困る(Chromeも一部そんな感じ)。
Appleもそうだけど、中華漢字フォントを日本語圏で使うのはヤメれ。本当に汚い。中国の陰謀(圧力)じゃないのだろうかと思ったりする。日本語漢字は中国漢字とは似て非なるものだということを英語圏の人間にわからせなければ。

個別フォント設定
(2-1)Skype:ツール~設定~チャット設定~チャット表示スタイル~フォントの変更
(2-2)Chromeの表示フォントを強制的に変更するときはこちら。標準のフォント設定だけではうまくフォント設定されないことがあるようなので(asahi-netのブログ管理画面など)。これでもうまくいかない=Firefoxとは異なる表示になるサイトもあるので、Chromeのバグではないかと思ったりもしてる。


(3)アイコンが綺麗でない
アイコンもなんか下手な絵に変わって美しくない。フラットUIなんてAppleだけのローカルはやりにしてくれ。
一部は以下のようにして変更できる。ただし、Windows7のファイルが必要。

(3-1)Windows7のWindows\System32\imageres.dllをコピーしてくる(Widows.old内にある)。今後アイコン表示にこのファイルが必須になるので、imageres7.dllとでもリネームして、Windows\SysWow64\にコピーする。Windows10にも同名ファイルがあるので、気をつけること。
コピー出来ない場合はエクスプローラーなどを管理者権限で実行してコピーする。
(3-2)(旧形式設定で)コントロールパネル~個人設定~デスクトップアイコンの変更を開く
(3-3)変更したいアイコンを選択し、「アイコンの変更」で、参照を押してWindows\SysWow64\imageres7.dllを選択する。変更できるアイコンは全てこの中にある。


(4)日本語入力が起動毎にMSが設定される。
7では優先順位を付けておけば、その最高優先度のものが標準では使われるが、10ではとにかくMSのを使わせようとする。
コントロールパネル~言語~詳細設定~入力方式の切り替えでアプリウインドウごとに異なる入力方法を設定するを外すと一応大丈夫になるが、代わりにアプリごとの設定ができなくなる(この場合、設定してないアプリはすべてMSが一番になる)。
→これをしても、再起動するとまたMS一番にされてしまう。MS日本語入力を削除したら出なくなる。

(5)Firefoxのブックマークツールバーがおかしくなる
FirefoxはWindows10上で再インストールした方がいいみたい。プロファイルを全バックアップして、 アンインストールして、再度インストールする。バックアップ方法についてはここ

(6)多くの設定は引き継がれるが、キーボードの入れ替えなどしていると外れる。
キーボード関係のレジストリが変わったからだと思われる。
うちではChangeKeyというのを使っているが、再登録が必要だった。

(7)コントロールパネルがわかりにくい
一応、スタートメニューのところで右クリックすると旧来表示が出せる。
ただし、次のClassicShellを導入するとできなくなる。

(8)スタートメニューが使いにくい
Windows7のそれに慣れていると、10のはとても使いにくい。50音分類なんて要らない。
なので、ClassicShellというのを導入して、出来るだけ7のに近づける。 標準では英語になっているので、設定で日本語を選んでおく。
同様のものは他にもあるようなので、好みに応じて導入するといいかも。
なお、(7)で書いたとおり、これを導入するとスタートメニューが右クリックでのコントロールパネル前表示ができなくなるが、スタート~右側のコントロールパネルの上でダブルクリック、で表示可能。

(9)スタートメニュー横の検索またはCortanaの入力欄が邪魔
タスクバーの上で右クリック、Cortana(または検索)~表示しないを選択する。

(10)デスクトップの整列条件が標準に戻るので再設定が必要

(11)時計の自動同期がなされない。というか、時計が狂ってる。
標準で設定されるインターネット時刻の同期先(time.windows.com)がエラーを起こすためで、コントロールパネル~日付と時刻~インターネット時刻~設定の変更でtime.nist.govなどを選んで今すぐ更新~OKしておく。それを選んでもエラーが発生するかもしれないが、同期はとられるので無視すればよい。

(12)Google Chromeでアドレスバーのところに検索文字を入れて検索しようとすると失敗することが非常に多い
なので、別途検索を選んで行うしかない。ものすごく面倒。同じバージョンのChromeでもWindows7では発生しなかったので10の問題。Chrome49ではWindows7でも発生するので、Chrome側の問題と判明。
→一旦空白画面が表示されて、10秒以上経ってから結果が表示されることもある。
Chromeは昔は軽快だったけど、今やIE以上に遅い。利用価値がどんどん下がっている。
Windows10上では前述の表示フォントの問題もあり、もはや使いものにならない気もしてる。

(13)エクスプローラーの操作がリボンで非常に使いにくい。
リボンはMSが作った最悪のインターフェースだと思う。目的の操作をするの手間が掛かり過ぎるし覚えにくい。これもClassicShellである程度従来型に近く調整できる(標準ではいまいちだけど)。

(14)pdfを開こうとすると、規定のプログラムをAcrobatに設定してもAcrobatDCで開くようになった。
しかたないのでDCを削除。スキャナからのPDFはEvernoteに結びついて、勝手にアップされてしまうようになるし、なんかアプリケーションの割当て周りのWindows7からの移行部分に大バグがいると思う。
→Evernote問題は、Evernoteを削除、スキャナのドライバも再インストールすると正常になった。
やはり Windows7からの設定移行に問題がある。

(15)コントロールパネル内でマウスのホイールが効かないことがある
Windows10の設定から開くとダメになる。旧来形式で開くとOK。
ものすごく不便。この意味でもWindows10形式コントロールパネルは不要。
→(20)に解決法

(16)プログラムが実行できないことがある
アップデートとかすると、

と表示されて止められることがある。フリーウエアに多い。
もし確実に問題がないことがわかっているなら、「詳細情報」を押して、

を表示して、「実行」する。一度実行すると記録されるので、2回目以降は表示されない。

(17)IO-DATAのRAMディスクソフト「RamPhantomEX」はそのままでは使えない状態になる。
ドライブは出来ており一見使えそうに思えるが、アクセスすると「ファンクションが間違っている」というエラーが発生する。
回避するにはフォーマットをFATにする必要がある。NTFSではエラーが発生する。
V1.01およびWindows8対応のV1.10で確認(FATの確認は後者のみ)。

(18)e-TAXなどで使う電子カードリーダーRW-5100は接続するだけでOK。ドライバは自動的にインストールされる。
通常なら接続から5分もすれば利用可能に成ると思う。
SHARPのサイトからWindows8用の動作確認ツールをダウンロードしてきて確認すればなおOK。
とはいえ、住民基本台帳カード内の電子証明が有効期限切れだともう更新できないので、マイナンバーカードにする必要があり、しかもそのカードは非接触式なのでこのリーダーは使えない。

(19)IO-DATAのマッハドライブの設定からCドライブが外れる可能性がある。
なんかCドライブのアクセスが早くないような気がして調べたら外れてた。
念のため確認したほうが良い。

(20)Edgeや設定でマウスホイールが効かない
うちではマウス動作支援のためにZtopと言うフリーウエアを導入しているが、これが原因だった。
Windows10形式の設定でマウスが効かないのもこれ。
解決法は、すべての設定を再度し直すこと。元の設定を書き留めておいて、いったんすべての設定をOFFにして「OK」(ZTopも終了したほうが良いのかも)。再起動して設定を戻して「OK」。うちの環境ではこれで治った。64ビット環境ではZTop/ZTop64の両方で設定。以下がうちでの動いている設定。ひょっとしたら、「ホイールを直下のウインドウへ送る」のチェックは入れたらダメなのかもしれない。

しかし、それが使える使えないでは操作性に大きな差があるんだけどなぁ。



Ztopの他、類似のソフトで同様の現象が発生するらしい。こちらも参照


(21)起動時のパスワード入力で、1回目は必ず失敗する。
起動時画面からパスワード入力画面に移行させるのにEnterを押すとこうなる。
カーソル上キーを押したら大丈夫。というか、マウスで画面を上にスライドするの?
そもそもパスワード入力画面を隠すというのが無意味で理解出来ん。

(22)休止からの再起動に失敗することがある。
休止からの再起動時に「問題が発生したためPCを再起動する必要があります。
エラー情報を収集しています。自動的に再起動しています。」と表示されることが結構ある。
一回失敗すると、以後連続で失敗する事が多い。
実はこのメッセージの下にエラー原因が書かれているが、これがDRIVER_POWER_STATE_FAILUREだった場合は、USBで接続している機器に問題がある事が多いらしい。この場合、休止中にすべてのUSB機器を一旦外し、再度接続する。その後PCを再起動(休止明け)させると治る。
このように、Windows10での休止は全く信用ならないので、休止に入る前には必ず作業中のことはファイル保存などをしておく必要がある。
こんなことWindow7では1回も起こったことがない。Windows10は全体的にまだ不安定。休止のテストあまりしてないんじゃないか?
→高速再起動をONにしているとこうなるという情報もある(それはMS自身もバグとして認識している様子)。ただし、それをOFFにして本当になくなるかは不明。

(23)フォルダの所有権が勝手に書き換わる
プログラムのインストール途中でエラーが出る場合などはこれが原因。また、同じPCで再インストールして、アカウント名も同じにしているにもかかわらず、一部フォルダやファイルがアクセス許可がないとして弾かれることもある。フォルダの場合はそのままアクセス権を付加して継続するオプションが表示されることもあるが、ファイル単位ではダメ。セキュリティで所有権を書き換えてもダメだったので、Windowsそのもののバグな気がしている。
バックアップから書き戻したら治ったけど、プロパティーで読み取り専用を解除するのと、セキュリティで所有権をフルアクセスにすることで「治ることもある」けど100%ではない。

(24)アップデートで何をインストールしたのかわからない
どのアップデートが当ててあって、どれがあたってないのかがわかりにくい。
設定→更新→詳細オプション→更新履歴を表示する
としなければならない。これをしたところで、最近の分しかわからないので、過去のを辿れない。アップデートを自動化しているくせに履歴を辿れないって、どういうこと?MSって馬鹿じゃないのかと真剣に思う(よく失敗が出ているので余計に)。

また、アップデートでOffice系のアップデートが標準では入らなくなっているので、必要なら
設定→更新→詳細オプション→Windowsの更新時の他のMicrosoft製品の更新プログラムも入手しますにチェックしておく。

(25)MS-Officeで起動毎に使用許諾契約書が表示が表示される
原因はともかく解決法。各プログラムを管理者権限で一度実行して「許諾する」と以降出なくなる。
MSのサイトにはレジストリエディタで操作する方法が書いてあるけど、やっても消えない。

(26)キャノンのプリンター付属のアプリで「対応しているプリンターがない」と出てしまう。
「らくちんCDダイレクトプリント」とか「Easy-PhotoPrintEx」とか。
最近のプリンタードライバーはWindows標準のものでいけるのだけど、これらのアプリはキャノンのドライバーを厳密に認識しているようでそれを入れないとダメ。
「デバイスとプリンター」で該当プリンターを一旦削除、Canonのサイトからドライバーをダウンロードしてきて入れる。Windows10用がない場合はWindows8.1用で。ドライバーを入れ替えたら上記アプリは動くようになる。

(27)ファイルやフォルダの削除時に確認してこない
Windows7までは標準では確認の後削除だったが、10では標準では確認無しで削除してしまう。
それでいいという人もいるかもしれないけど、やはり怖いので削除付きにする方法。
ゴミ箱~プロパティ~削除の確認メッセージを表示するにチェック

その他遭遇した不具合:
・休止明けに マウスが効かなくなったと思ったらドライバーエラーが出た(しかもドライバを削除しようとしてもそのままハングアップ)
・MS-MedeiaPlayerで動画再生中に画面を移動するとシステムが完全にハングアップすることがある
Windows7でも起こったことがあるので、MediaPlayerのバグだと思う。

とにかく、技術的にはどうなんだか知らないけど、遅い+デザイン的にダサすぎる+明らかなバグがまだ多数残ってるので、Windows7で問題ない人にはあんまりおすすめしがたい感じ。DVDやBluray再生ソフトは軒並み使えなくなるし、仮想XPも使えないしで、このアップデートはいろいろと自分で出来る人向けかと。アップデートを全員に「ほぼ」強要しているマイクロソフトの馬鹿さ加減には呆れる。

最後に、一応Windows10の良かった点も揚げておこうかと。
(1)USBデバイスの認識が良くなった。
GarminのGPS eTrex20はWindows7では先に電源を入れてから接続しないと認識されなかったが、Windows10では電源入れずに接続しても認識されるようになった。USB接続で電源が入るような聞きに対する認識順序が改訂されたのだと思う。これだけは良かったと思った。

他には無し。



2016/03/10追記:
3/7に起動できなくなって、丸2日掛けてほぼ一から再構築したのに、10日に今度はレジストリ破壊で全設定が初期化されるということが発生し、Windows10の使用を中止しました。こんな出来損ないOS使ってられません。Windows7に戻します。ということで、今後Windows10に関する記事は追記・更新されません。 あしからずご了承ください。

Mac mini 2014上のBootcamp Windows7をWindows10に確実にアップデートする方法

Mac mini 2014上のBootcamp Windows7をWindows10にアップデートしようとすると、エラーが出てインストール出来ない。
Windows10が出てすぐの時は出なかった思うのだけど、最近はIntel Iris5100が互換性がないとエラーが出てしまう。

VirtualXPも使っていたのでWindows10へのアップデートは先延ばしにしていたが、別のマシンに入れて、案外互換性が高いことと起動の早さにほだされて、暇になった今アップデートすることにした。
(VirtualXPは、リアルXP機を用意し、TeamViewerで遠隔操作できるようにすることで解決。)

というところで、Mac mini2014上Bootcamp Windows7をWindows10に確実にアップデートする方法。もちろん大前提として、Windows7がBootCampですでに動いている必要がある。

(1)マイクロソフトのサイトからWindows10のインストールディスクをUSBメモリに作る
MediaCreationTool.exeというのを使う。 4GB位あれば十分らしい。
CDに作ることもできるが、isoファイルをCDに焼くには別アプリが必要なので面倒だし。

(2)コントロールパネル〜デバイス〜ディスプレイでIris5100を削除する
ここで再起動はしない。したら、再起動した時に再度ドライバをインストールされてしまう(やり直し)。

(3)USBメモリ上のSETUPを実行してWindows10のインストールを開始する
GWX(Windows10のアップデートプログラム)からのアップデートはできない(まだIrisエラーでひっかかる)。

(4)終了まで待つ
途中、Bluetoothマウスが切れてしまうことがある。
うちではBluetoothマウスを2台接続しているが、1台目はOK、2台目が切れた。
インストール途中でApple提供ドライバがすべて無効になってWindows標準ドライバだけになるから。念のため有線マウスがあるといいかも

これでWindows10がインストールでき、起動するはず。でもその後も作業は続く。

(5)AppleSoftwareUpdateを実行
Bootcamp6更新プログラムとApple入力デバイス更新プログラムをインストールする・・・と言いたいところだけど、まずは後者のみインストールする。なぜなら、Bootcampのインストールには多分失敗するから。途中でエラーが発生し、その後進まなくなる。このBootcamp6更新プログラムは以下の方法で別途導入する。
→成功する人もいるようなので、一度やってみて途中で止まるようなら下記手順を取ればよいかと。10分以上もブログレスバーが動かないことがあれば失敗。

(5-1)ここ→Bootcamp6 からBootcamp6を直接ダウンロードする。結構でかいので注意。
(5-2)ExpLzhなどWinRARが展開できる書庫展開プログラムで開く(EXEだけど実態は書庫)。
(5-3)中には2つのフォルダがあるので、適当な場所に展開する。
(5-4)BootCampフォルダの中にDrivers\RealTekがあるので、これを別の場所に移動しておく。
(5-5)BootCamp\Setup.exeを実行する。
(5-6)終了後、Windowsを再起動する。
(5-7)移しておいたRealTekの中のRealTekStup.exeを実行、また再起動する。
RealTekだけでなくもう1つエラーが出ているような気がするけど、どれか不明。デバイスマネージャで見てもエラー出てないし。そのまま無視しても動作に問題はないような感じ。

このBootcamp6導入を行わないと、画面ドライバがインストールされないので解像度の変更などができない。Iris5100の対応ドライバもここで入る。なお、IntelのサイトにあるWindows10ドライバでもちゃんと表示できる。なぜGWXがIris5100対応してないと表示するのか全くの謎。


とにかく(2)(3)(5)が肝。

これでWindows10をMac mini2014上にインストールできる。ただし、Windows10由来の問題はいろいろあるので、それは次のネタで。

・・・
2016/03/10追記:
3/7に起動できなくなって、丸2日掛けてほぼ一から再構築したのに、10日に今度はレジストリ破壊で全 設定が初期化されるということが発生し、Windows10の使用を中止しました。こんな出来損ないOS使ってられません。Windows7に戻します。 ということで、今後Windows10は現状全くお勧めしませんし、これに関する記事は追記・更新されません。 あしからずご了承ください。

2015年10月5日月曜日

MacOSX El Capitanの問題

1台のMacにEl Capitanを入れてみた。基本的にはYosemiteと外見も似てて使い勝手の面では問題というか慣れが必要な部分は少なそうなのだけど、1つ大きな問題を見つけた。

・ディスクユーティリティーでNTFSのディスクの修復ができなくなった。

NTFSのドライブに対してはFirstAidのボタンが有効にならない。
今までは、BOOTCAMPでWindowsをインストールしている場合、Mac側のディスクユーティリティで、Windows上のSCANDISKでは復旧できない問題を修復できたのだが、できなくなってしまった。NTFSはディスク内容をしょっちゅう破壊するダメダメフォーマットなのでこの機能がとても重要だったのだ。

ということで、一旦入れたけどYosemiteに戻した。AppleにしてみればNTFSのサポートなんてしなくても問題じゃないというところなんだろうけど、こんな重要な機能削らないで。

2015年9月28日月曜日

iOS9の変化点

iOS9で変わった点を記録していく。

(1)フォントサイズが変わった
X-BASIC'では同じフォントを使っていても表示サイズが異なる結果になる。iOS9のほうが一回り小さい。
アップルのフォントは小さすぎて、高齢者に優しくない。

(2)バックグラウンドでreallocできなくなった
実行時に
「This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.  This will cause an exception in a future release.」
が発生する。一応警告(とダンプ)だけで今は動いているようだが、将来的には落ちると書いてあるので対策したほうが良さそう。一番単純な対策はその部分をメインスレッドで行うようにすればいいのだが、reallocだけメインに持っていくのは無理。全体の動作の見直しが必要。

realloc以外でも発生する可能性はある。


(3)Autoresizeの結果がviewWillAppear時点で得られなくなった。
 こんなん仕様変更とは言わない。大バグ。
 仕様変更なら変更で仕様書に書け。書かれても許さないけど。

2015年9月19日土曜日

NSDataの内容をC的に変更する方法

NSDataは基本的には一度初期化するとその内容を変更することはできない。変更する場合はNSMutableDataを使うと。少なくともメソッドを使った方法ではその通りなのだが、C的に変更するなら方法がある。

NSMutableData *mdata〜
char *p=(char  *)[mdata mutableBytes];  

NSData *data=〜
char *p=(char  *)[data bytes];

とすると、内容を示すポインターを得られる。
ここでpのアドレスからに改変を加えるとNS(Mutable)Dataの内容が変わる。Mutableでなくてもいける。

NS(Mutable)Dataの中ではデータは連続した領域に保存されているようである。

ここ1つ注意すべきは、この方法で内容を更新するときは、絶対に元のデータの範囲を超えないこと。メソッドによるアクセスとは違い安全機構は働かないので確実にシステムが落ちる。

そしてもう1つ。この方法で書き換えても効果が出ないこともある。

AVAudioPlayerは内部でのデータの保持にNSDataを使っている。それは

AVAudioPlayer *av=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];
char *p=[av.data bytes];

でアクセスできるが、ここでpからの内容を書き換えても音は変化しない。おそらくは、元の音声データが.dataにあるが、実際に音声出力用データはinitWith時に別に複製が作られているのではないかと思う。

確保した音声データを直接書き換え音を変更しようと思った実験の結果。

2015年9月3日木曜日

iOSシミュレーターの仕様(Xcode6.4/7.0編)

Xcode6.4/7.0でのiOSシミュレーターの隠れた仕様を列記しておこうと思う。
主に自分の忘備録。

・AudioToolbox.frameworkのAudioServicesPlaySystemSound()はiOS7では音が出ない
iOS8では音が出る。またAVAudioPlayerはiOS7でも大丈夫。
音が出ないから散々調べたらこれだった。

・実機にしかないハードウェア機能は当然使えない
カメラ、モーションなど

・eMailはOK
・AirPrintもOK

・アプリの言語切替は、シミュレーター上の設定〜一般〜言語環境ではなくXcodeのEditScheme〜Application Languageで切り替える
ただしこれで切り替わるのはアプリケーションの言語だけなので、OSの設定の言語は元のまま。なので、SettingBundleでOSの設定に追加している時にその言語別表示を確認するには、OSの言語設定も別途変更する必要がある。

・AVAudioEngine/AVAudioPlayer系でエラーが発生すると、Macの他のアプリからも音が出なくなってしまう
例えばChromeでGyaoを見てて、シミュレーター上でそこでエラーが発生すると、しばらくすると(おそらく先行でバッファリングしていた分の再生が終わると)音が出なくなる。治すには、再度RUNすればいい。

・ProfileでAlloc/LeaksはiOS8でしか動かない
iOS7ではエラーが出てしまう。
AppleはiOS7外しにかかっているのがよくわかる。でも、それを開発者に強要するのはどういうものかと。

・キーボードの設定はHardware〜Keyboardにある

・[UIDevice currentDevice]model]が"iPad Simulator"または"iPhone Simulator"としか返してこない
シミュレートするデバイスを切り替えても一緒。
これを使うなら実機が必須ということ。機種別切り替えが必要なプログラムのデバッグにはシミュレーターが使えないってどういうこと?

・Intervalが非常に短い間隔のNSTimerを発行すると正しい時間にならない。
1/10=0.1 秒くらいなら大丈夫そうだけど、1/1000秒を設定しても(実測で)約0.1秒になっている。iPad2を選択しているとうまく動 くのにiPad RetinaやAirを選んでいるとだめなので、それらだけのバグ。ちなみに、実機ではちゃんと動く。
→その後調べた結果、AppleのNSTimerのドキュメントに「the effective resolution of the time interval for a timer is limited to on the order of 50-100 milliseconds.」とあった。要するに0.05s〜0.1sより大きな数値でないと動作は保証しないということで、それ以下なら動いて御の字と言える。これでは音楽ドライバが作れない!!
→実験の結果、repeat:NOなら1ms(0.001s)単位でもほぼ正確にかかってる。実機、シミュレーターとも。repeat:YESでも30ms位ならほぼ大丈夫だけど極稀にダメみたい。
 X-BASIC'では画面更新とキーリピートが引っかかる。・・・

それはそうと、Xcode6.4/7はブレークポイントがおかしいと思うのだけど。
設定した場所で止まらない。
一見設定した場所で止まっているようで、実はぜんぜん違う場所で止まっていることが多発している。7.1でも直ってない。
このバグのせいでブレーポイントを使ったデバッグがまともにできない状態。
細かくNSLog()を入れて、チェックするしかない。
アップルはもっとデバッグして。