面白きことは良きことなり

拙く未熟なiOSエンジニアの備忘録と戯言

備忘録

ルーターをAterm WG2600HP3に変えた (2018/07/18追記)

NECから新ルーター発売 昔からNECのルーターは質が安定していたので、愛用していた。 今まで、Aterm WR9500Nという機種を使っていたのだけれど、これが2011年に発売されたモデルで今となっては古く、802.11acにも対応していないので、いい加減買い換えたいと…

iTunes Music Library.xmlのタグ名と項目の値のメモ

iTunes Music Library.xml iTunes Music Library.xmlとは 未入力の項目は、keyが存在しない bool値は<true/>のタグで表される タグ 型 値 補足 Track ID integer 5944 Size integer 36089400 Total Time integer 278293 Disc Number integer 1 Discの分子 Disc Coun</true/>…

Mac AppでWindowからfileやdirectoryを選択してpathを取得するやり方

Mac Appの開発へ乗り出し iTunesで曲を管理しているが、不便に感じていることがあるため、その辺の利便性をなんとかしたいと思い、Mac Appの開発を気ままに進めることにした。 ひとまずやりたいこと directoryを参照して、その配下にあるfile(subdirectory配…

R.swiftとWARNで競合したので解消した

WARNの説明 Obj-C時代は、#warningを書いて意図的に警告を表示し、後から対応する等のメモがわりに使用していた。(他にそういう人は多いはず) で、これがSwiftになると使えないので、// WARN:を書いたら同じように警告を表示するようにRun Scriptを入れるわ…

didSetの挙動

didSetの挙動 Swiftでは、Propertyに対してdidSetで処理を書いてあげることが多く、この時呼ばれるの?呼ばれないの?と疑問に思うことがしばしばあって、テストしていたのでまとめておく。 値型と参照型で異なる点は言わずもがな気をつけなければいけない。…

UIButtonが青色一色のベタで表示された時の対処

初歩的ミス IBOutletで紐づけていたUIButtonにコードでimageをセットしてあげるも、青色一色でベタ塗りされた表示になっていた。 理由としては、UIButtonのTypeがSystemだったために画像をセットしても青色で表示されていた。 Customに変えて正常に表示され…

URLComponentsは、`+`をPercent Encodingしてくれない

経緯 APIを叩く際にランダムに生成しな内容をBASE64化してQueryにつけて送信しようとしていたが、5割ぐらいのエラーになっていた。 調査した結果、+がPercent Encodingされていないためだったが、なぜこんなことが起きたのか…。 便利なURLComponentsの罠 qii…

WebView実装してリロードしまくったら出るNSURLErrorDomain エラー -999

前説 業務が忙しかったこともあり、色々ネタはありつつも書いてなかったので、落ち着いてきた今日あたりから徐々にまた書いていく。軽めにね。 NSURLErrorDomain エラー -999 WKWebViewを実装して特に制御せず、back, forward, reloadボタンと処理を紐づけて…

UIBarButtonItemで画像の見たを変えずに使用するやり方

UIBarButtonItem UIBarButtonItemは、UINavigationControllerとかと併せてよく使うButtonですが、そのまま使用すると下記のように透過じゃない部分は単色でTint Colorによって塗りつぶされます。 この画像を使用すると… こうなる これを画像を加工せずそのま…

AutoLayoutでmarginを画面比率によって変更したい時の対処

経緯 ふと前にも調べた気がするが、覚えていないなら覚えるまで同じ記事であろうか書くしかない。 AutoLayoutで制約をつけていると、固定のものは問題ないが、画面サイズによって可変にしたい場合、Viewのwidthやheightであれば、superviewとequal widthやeq…

NavigationItemのLeftBarButtonItemsにitemを入れるとBackボタンが表示されなくなるやつの対処

経緯 割と当たり前だったりすることでも、知らないことも多々あるので、今回そんな例として今更知った内容のメモとして記載 内容 UINavigationControllerから pushViewController(UIViewController, animated: Bool) で次のViewControllerに遷移するのは珍し…

NSPredicateを使うと@を全角半角区別してくれない

emailのvalidationメソッド 業務中、emailのvalidationメソッドをいじることになって知った話 下記のようなコードでemailのvalidationチェックを正規表現を行なっていたのだが、 @ が全角でも true が返ってきてしまうことが発覚した。(emailの正規表現に関…

iPhone Xで出来ないこと2点

iPhone Xを触ってて気づいたこと iPhone Xを私物として購入し、触ったりコードを動かしていて疑問に思ったことを調べた結果、以下の2つが判明 * network indicatorが表示されない * 逆さまの縦持ち(portrait upside down)が存在しない network indicatorが表…

Apple Scriptで"scrapy crawl hoge"をshellで実行しようとして躓いた話

Terminalでは上手くいくのに、AppleScriptではエラー Terminalを起動して、 do shell script "scrapy crawl hoge" を打つと問題なく動作するのに、Apple Scriptで do shell script "scrapy crawl hoge" のようにshellを実行しようとしたところ、 sh: scrapy:…

Xib(Nib)上で設定したfontの種類やサイズが適用されなくて困った話

遭遇した問題 とあるプロジェクトでXib上に配置したUILabelに対して、Xib上からfontの種類とサイズを変更した。 しかし実機上で確認しても、そのfontの変更は適用されていなかった。 原因 何が問題だったかというと、application(_ : launchOptions: ) -> Bo…

Visula Studio CodeでPythonのコーディング環境を整える

コーディング環境の導入 Python書いてる人は、VimとかEmacsとかCLI系が結構多いと勝手に思ってるけど、GUI環境で育ち、iOSとかのコーディングもGUI環境ありきでやってきてる身からすると、いささか慣れるまでしんどいし、楽できるなら楽したい。 なので、フ…

Python3とScrapyの導入(おまけにRequestsもね)

Python3のインストール 最近もっぱらスクレイピングとかクローリングが必要なことがあったので、できるようにPythonに手を出し始めた。 macOSならデフォルトでPython2系は入っているが、最新のPython3への対応も進んでるみたいな話題を見ることがあるので、…

リハビリがてらzshのすすめ

書き出し 記事を最後に書いたのがもう2ヶ月前ということもあり、また生活環境も大きく変わったので色々アウトプットする感覚や文字におこす感覚が飛んでいってるので、リハビリしつつ調子を戻そうと思う。 zsh使おう Macでプログラム系やってる人はちょいち…

XcodeのBuild Settingsで設定を忘れるのでメモる

前置き XcodeのBuild Settingsって色々設定があり、オプションをつけることで便利にできたりするのだけど、チェックボックスや選択形式じゃない部分も多くてつい「あの設定つけたいけど、何したらいいんだっけ?」って思うことがある。年かな〜 なので、一々…

RxSwift+MVVMで出てくるサイトのコードの備忘録

RxSwift+MVVMで上位に引っかかるRealm academy.realm.io RxSwiftとMVVMを勉強しようとした際、上記サイトが上位にくるものの、記載されているコードを今写経してもエラーがでるのみで正常に動かなかった。 調べたり試行錯誤して動くようにできたので記録して…

Carthageでversion指定の書き方を忘れるのでメモ

ふとした時、書き方を忘れ、色々漁って探し直すのが大変なので、ここにメモとして残す。 基本 ~> で書くか == で書くことが多いと思う。 # コメント # ~> 互換性のある最大のversion指定 # ex. 3.0以上かつ4.0未満の最大のversion github "ReactiveX/RxSwift…

Macでのかな変換、カナ変換、英字変換

記事にした経緯 自分も知らなかったし、未だあまり知られて方法もあるので記載 方式名は適当につけているので正式名称ではありません。 また、日本語キーボード基準で記載しているので、英字キーボードの人は適宜読み替えが必要かもしれません、 FunctionKey…

MacApp購入予定リスト(WWDCに備えて)

※一部絶対割引されないものも混じっている。 AppleScriptをSwiftで記述できるアプリ Scriptarian - Scripting Studio for macOS Git管理アプリ www.git-tower.com Diffアプリ www.kaleidoscopeapp.com 鉄板のDesignerアプリ Sketch - Professional Digital D…

UIColorの比較で単純に==や!=してはいけない話(Swift3コード追記)

UIColorの比較の注意点 UIColor同士を比較する際、==や!=で比較することは可能。 しかし、安易にこの比較を行なった場合、意図しない挙動になることもある。 その例が下記となる UIColorの作成時、white値を指定して作成することもできれば、rgba値を指定し…

読みたいまたは購入予定本

モバイルアプリ開発エキスパート養成読本 (Software Design plus)作者: 山戸茂樹,坂田晃一,黒川洋,藤田琢磨,山田航,田坂和暢,熊谷知子,森本利博,坂本和大,小形昌樹,鈴木大貴,志甫侑紀出版社/メーカー: 技術評論社発売日: 2017/04/11メディア: 大型本この商品…

Xcodeでファイル配置を変更した際に出るWarningの対処方法

Missing file (〜 is missing from working copy) gitで該当ファイルをコミットする Dependency Analysis Warning XcodeのUtilities(右カラム)>File inspectorのTarget Membershipからチェックを外す or ProjectのTargets>Build Phases>Copy Bundle Resource…

Library not loadedでCrashした時に行なった対処

Library not loadedでクラッシュとの遭遇 アプリを作っている時は、問題なく実機で実行できていたが、 iTunes ConnectにバイナリのUploadが終わって、メタデータ用のスクリーンショットを撮ろうとシミュレータで実行した際に下記内容のクラッシュに初遭遇し…

FirebaseをPodsを使わず直に取り込む際、DLするVersionに注意

前提 CocoaPodsを使わない Firebaseを直にプロジェクトに取り込む リンクが古い 前提に該当する人は、下記のリンクからzipファイルをDLする人が大半だと思う。 しかし、リンクを見るとFirebaseのバージョンが3.11となっている ここで今最新のFirebaseがいく…

Swiftの文字列にて、Implicitly Unwrapped Optional型の文字列を扱う際に失敗した話

Implicitly Unwrapped Optional型と呼ばれる下記のような記述を行うことで、 この変数を使う時にUnwrapしてくれるというのは大体の人は知っていると思う。 let hoge: String! しかし、Unwrapしない時もあり、そのパターンに嵌ったので今後同じことがないよう…

フリーのApple IDアカウントを使ってXcodeからアプリを実機転送できることで、App ID登録時にエラーを出してしまう可能性の問題

要約 Xcode7からApple IDアカウントがあれば、有料の開発者登録を行わずとも実機にアプリを転送できるようになった その結果App IDを無作為に作成することができ、アカウントが違っても同じApp IDを作成することはできないので、何故かApp IDの登録でエラー…