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

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

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

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

iOS 11の写真アプリがアニメーションGIF対応

今更感のアニメーションGIF対応 support.apple.com AppleのiOS 11の変更点が記載されているページに、 iOS 11の写真アプリがアニメーションGIFに対応した記述があります。 iMessagesやTwitter等のSNSで、多く投稿されることもあってか、 対応したのだと思い…

iOSDC JAPAN 2017に参加してきた話

iOSDC JAPAN 2017について 2017/09/15 (Fri) - 17 (Sun)の2.5日間開催(09/15のみ夕方からの半日開催) 去年に続き2回目の開催 iOSエンジニアが集まり、知見を5min/15min/30minで話したり、親睦深める文化祭のようなもの 開催から1週間以上経ち、いろんなとこ…

USB3.0と2.4GHz帯電波の干渉によるネットワーク不安定化とその弊害(主にSwitch)

2.4GHz帯の電波について 2.4GHz帯の電波を使用する主な普及品として下記は割と知られていると思う。 無線LAN (b/g/n) Bluetooth 無線LANに関しては、2.4GHzと5GHzの2種あるが、障害物に強く遠くまで飛ぶという理由や 無線LAN(b/g)が普及したタイミングで導入…

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…

RAYZ Plusを購入したので開封と感想(追記05/31)

当初の発売日から2ヶ月経ってやっと発売 RAYZ PlusというiPhone向けのLightningイヤホンが当初の3月末発売から2ヶ月経った今日 に一般発売された。 av.watch.impress.co.jp 海外では、3月末に発売されていたが、国内は諸事情により1ヶ月延期となり・・・ 1ヶ…

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しない時もあり、そのパターンに嵌ったので今後同じことがないよう…

Frameworkに含まれるXIBやNIBファイルを使用しているのに表示されず"Unknown class HogeClass in Interface Builder file."と出る時の対処方法

3rd Party提供Frameworkに含まれるXIB、NIB 3rd Partyが提供しているFrameworkには、稀にXIBやNIBが含まれており、それを画面上に配置して使うことがある。 この時、Xcodeプロジェクトに取り込み、StoryboardでCustomClassとして適用して使うこともあるだろ…

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

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

iOS(Swift)から3ステップでMastodonに画像付き投稿を行う

まえがき 前回は、登録、ログイン、投稿の3ステップを記載 前回の延長線上で画像付きの投稿もやってみよと思い立つ 画像やmime/typeは固定で記述してるので適宜変更してください。 今回もmastdn.jpを使用しています。適宜変更してください。 タイトルのこと…

Kaspersky Internet Security(for Mac)は使い物にならない

導入理由 Macを使うようになったのもここ4〜5年の内で、今だメイン機Windowsだったりする。 PCゲームをすることもあって、自作PCも組むこともあり、必然的にWindowsがメインになるわけ。 そしてPCゲームする時セキュリティソフトは軽く、検知率が高いほうが…

iOS(Swift)から3ステップでMastodonに投稿を行う

流行りのMastodonのiOSアプリがAmaroqというアプリしかないため、 作ってみようかなと思い立った。 Qiitaにも投稿済みその過程で必要なログインと投稿の処理を記載する。 正確には3ステップ必要。 全部POSTのみでいけるため、下記の処理を使用今回はmastdn.j…

Swiftでsuper.init()前にプロパティを初期化しなければいけない理由

前提 Swiftで独自クラスを作成してinitメソッドを書く時、 この独自クラスが持つプロパティの初期化をsuper.init()の後に行って エラー( Property 'self.property' not initialized at super.init call )に会う人は少なからずいると思う。 Objective-Cでは、…

引っ越しました

今まで引っ越したいと思っていてずるずる生活してたけど、 1月末から急に引っ越しに意欲的になり、引っ越し先を決めて引っ越しを完了まで1月程度で行った。そのために2月中はずっとドタバタしてて記事を書くに書けない日々。 ようやく2月末に引っ越しを終え…

Amazonで買い物した総額を省みる

とあるサイトでAmazonで使った総額いくらかという話題があったので、 気になり自分も調べてみた。 年 注文回数(回) 合計金額(円) 2006 1 3,585 2007 1 25,800 2008 3 24,271 2009 6 29,626 2010 8 25,515 2011 11 79,021 2012 13 86,035 2013 21 117,603 201…

ViewControllerのpresentedViewControllerを辿る際の落とし穴

iOSのプログラムを書いている際、最前面に表示されているViewControllerを取得したいと思うことがある。 この時、rootViewControllerからpresentedViewControllerがnilになるまで取得して、 最前面のViewControllerを求めることを少なからずやったことだと思…

新年とっくに明けましておめでとうございます

(遅くなりましたが)㊗️新年明けましておめでとうございます はてなブログを始めて1年経ったなーと感慨に耽ってみて、 最初の記事を見たらGW明けだったので、全く1年経ってませんでした。今年の目標は、 1. はてなブログをもう少し細かく書く(目指せ週1ペース…

DS215jとMacの接続プロトコルはafpの方が速いかもしれない

環境 タイトル通りなのだが、うちの環境を晒すと下記な感じ。 ・WindowとMacを併用 ・SynologyのNAS「DS215j」を使用 (構成はWDのRed4TB×2でSynology Hybrid RAID) ・NASは2台の橋渡し兼音楽や画像等のデータベース ・Windowsからはネットワークドライブの割…

JavaScriptでTextBoxに入力された内容からリンクを生成

仕事でURLSchemeのテストをする際、 TextBoxに入力された値からリンクを生成したかったので調べて作ったのを記載。 <html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <header> </header> <body> <form name="form1" id="id_form1" action=""> <input name="textBox1" id="id_textBox1" type="text" value="" placeholder="文字列入力"/ size="45">…</form></body></meta></html>

Swift2のguard let構文で順序を意識せずクラッシュする書き方をしていた話

Swift2のプロジェクトの話 NSTimerを扱う処理を書いており、userInfoにBool値を渡して、後から安全にキャストして取り出す処理をguard letを使って下記のように書いていた。 // Swift2 // before func hoge(timer: NSTimer?) { guard let timer = timer, fla…

PlaygroundでPage追加

小ネタ程度の話。 自分が知ったのは少し前だったので、 少数ながらも意外に知らない人もいるのでは?と思ったので、書いておく。 Playground自体Swiftの記述でテストや検証に簡易的に扱えることもあり、 頻繁に使うと思うのだけれど、色々書きすぎてプレビュ…

Scheme呼び出しで://の//をリンク形式でなら省略することができる

スマホアプリはでよく使う機能にSchemeがあると思う。jp.co.hoge://paramのような形式でアプリにあらかじめ登録しておくと、 スマホのブラウザから上記アドレスを呼び出すことでアプリを起動させ、 パラメーターによって処理を行わせる。このSchemeで//を省…