無線LAN経由の印刷ができない時

結局、ルータ(WHR-G301N)が原因だったのだけれども、そこまでの経緯をメモ


[Bitdefenderの設定]

・セキュリティソフトである BitDefender を使用しており

  以前このソフトウェアが原因で同様の問題が起きた事があったので

 この設定を見直すことにした。

1.Bitdefender を開き Settings > Firewall > Adapter rules を選択

2.使用中のLANを選択し、AddZone

3.プリンタのIPを入力しAllow

・・・ここまでやってもまだプリンタが検出できず。


[WindowsFirewallの設定]

・次に Window7 のファイアウォールの設定かもしれないと

1.コントロールパネル > システムとセキュリティ > Windowsファイアウォールによるプログラムの許可

2.「ファイルとプリンタの共有」を許可する

・・・ここまでやってもまだプリンタが検出できず。


[ルータの確認]

・ルータの管理画面にアクセス

・プリンタのアドレスにpingを撃ってみる→反応なし

・・・この時点でルータ、プリンタ間に問題ありが発覚。

・「WPS」の設定項目がないか、そしてそれが有効になっていないか確認

・WPS が有効になっていたら無効化する

・・・無事、印刷できた。


[追記]

後日、再び印刷できなくなる。

設定も上記のままであれこれ見ても、まったく原因が掴めない…。

ダメもとでルータの WPS を再度 ON して反映を待つ → その後また OFF にして反映を待つ。

を試した所、…印刷できるようになった。

というわけで、 WHR-G301N ご利用で印刷を無線LANでできない方は一度お試しあれ。





iOS で glBindTexture glGenTextures などテクスチャ系処理が 0x502 (GL_INVALID_OPERATION) を出す

今回は、UIView の init 系で処理をすると、

コンテキストが正しく認識されず、 OpenGL がちゃんと初期化されていない事で起こっていた。

なぜか gl****Texture 系のみで、他の設定系はエラーが出ていなかったので迷ってしまった。

これが原因で、glDraw 系は EXC_BAD_ACCESS で止まる。

結論として、layoutSubviews の中で OpenGL を初期化するようにしたら直った。

Application windows are expected to have a root view controller at the end of application launch.

StoryBoard を使用したアプリを Empty Applicaton のテンプレートから作成すると、

実行時に、

"Application windows are expected to have a root view controller at the end of application launch."

とログに表示され、画面が真っ白になる状態に陥った。


これは、テンプレートが作成した AppDelegate.m 内の、

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}


を、各種コメントアウトし、


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
//self.window.backgroundColor = [UIColor whiteColor];
//[self.window makeKeyAndVisible];
return YES;
}

とする事で正しく動作するようになる。

cast of indirect pointer to an Objective-C pointer

iOS7 対応しようとビルドしてみたらこんなエラーが出たのでメモ。

[Before]
NSData *data = NULL;
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)attrDictionary, (CFTypeRef*)&data);
// (CFTypeRef*) のキャストの所で cast of indirect 〜 が出てビルド通らず


[After]

CFTypeRef cfref = NULL;
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)attrDictionary, &cfref);
NSData *data = (__bridge id)cfref;
// 一度定義した CFTypeRef を渡した後ブリッジキャストで解決

error CS1010: Newline in constant

文字コードを変更して保存できるテキストエディタ( Terapad 等)で

文字コードを UTF-8 (BOMなし) にして保存すれば直る。

UTF-8N ではエラーが出たのでメモ。

なお、改行コードは関係ないようだ。