忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。


UIKitのGetContextStackでメモリリーク

わか

InstrumentsのleakにてUIKitGetContextStackでメモリリークと表示されました。
該当のソースコードも表示されなかったので、調べてみるとバックグラウンドスレッドでUI関連の更新を行った場合に発生するようです。
毎回発生するのではなく、たまに発生するようなので大規模なソースだと調査が難しそうです。
備忘録でした。

拍手[0回]




iPhoneからMac経由でインターネット接続

わか

iPhoneからMac経由でインターネット接続をやってみると思いのほか簡単に接続できました。

Mac側の設定
1. システム環境設定
2. 共有
3. インターネット共有
 共有する接続経路:Ethernet
 相手のコンピュータが使用するポート:Wi-Fi
 Wi-Fiオプションでセキュリティとパスワードを設定する

後はiPhone側でMacに接続すれば良いです。
ちなみに共有する接続経路相手のコンピュータが使用するポート両方にWi-Fiは設定できません。
共有する接続経路はEthernetにしなければなりません。
あたりまえですが、Wi-Fi繋がるならiPhoneそちらで繋げろということでしょう。

拍手[0回]


SSKeyChainでエラーコード-34018で失敗

わか

SSKeyChainライブラリ内のSecItemCopyMatchingにてエラーコード-34018が発生しました。
このエラーが発生すると保存してある値を取得できません
調査したところ、Xcodeから実機を動かした場合にのみ発生する不具合のようです。実機から直接動かした際には発生しないようです。

デバッグをしていると、たまに発生するので驚きます。早く直ってほしいです。。。

拍手[0回]


長いループ処理では@autoreleasepool{}が必要

わか

ARC環境において、whileやforで長い処理を行った場合は@autoreleasepool{}を使用した方が良いです。なぜなら解放待ちのインスタンスが溜まってしまいメモリリークしてしまうからです。
忘れがちになりそうなので、備忘録として記載します。

拍手[0回]


NSURLConnectionのステータスコード401について

わか

iOS8.2

NSURLConnectionのレスポンスを受信した際の認証エラー時にステータスコード401を受け取るはずが、0になっていました。
Appleの公式ドキュメント読むと、NSURLConnection認証エラー時にはエラーコードでNSURLErrorUserCancelledAuthentication(-1012)を受け取ると記載されています。

私の場合、認証エラー時にはステータスコード401を受け取りたかったのですがNSURLConnectionでは何故か無理なようです。この問題はかなり昔から存在し、ずっと放置されているようです。
対策としてはNSURLConnectionを使用せず、他のものを自前で用意するしかないようです。


拍手[0回]



UIAlertViewにてメモリリーク発生(iOS8)

わか

iOS8にてUIAlertViewが非推奨になりましたが動作自体は問題ないためそのまま使用していました。しかし、instrumentsにて確認を行ったところメモリリークしていました。実行するたびに毎回32byteリークするため、まだ使用している人は他の手段に移行したほうが良さそうです。

拍手[1回]