Programming

HTML/Markdown

Safari 10でtarget=”_blank”の挙動が変わった?

私はmacOSを使っている関係上、メインのブラウザの一つとしてSafariを使っているのだが、macOS Sierra + Safari 10でtarget="_blank"の挙動でタブが開かれた時の挙動に変化があり、気づいていれば結構便利...
IT/Computer

POH8のSwift版回答例も作成中

今更ながら、私が前にC++で行なっていた『paizaオンラインハッカソンVol.8 恋するハッカソン〜君色に染まるアイドル〜』(以下、POH8)の回答例について、Swift2版も順次作成を行なっている。ひとまずは、髪型系のコードは投稿済みで...
IT/Computer

Xcode 8.0環境でSwiftLintをインストールするには注意が必要 (2017/02/05追記)

Xcode 8.0ではデフォルトでSwift 3.0が使われるようになり、Swift 2.3は、古いプロジェクトからの互換性を維持するも目的で残っているにとどまっている状態である。これが思わぬところで落とし穴になっている。Homebrewを...
IT/Computer

Swift 3のアクセス修飾子

Xcode 8.0が登場し、Swiftを使っているプロジェクトではSwift 3.0への移行も行われているものも少なくないが、Swift 3では新たに追加されたアクセス修飾子が2つある。それが「open」と「fileprivate」である。...
TIPS

パブリサイズ共有がうまくいかない時の対処法

Jetpack by WordPressを使ってSNSに更新情報を共通していると、時折起こるのがパブリサイズ共有に失敗してしまうという問題である。ここでは、それが起きてしまった時にどうすれば復帰できるのかを私がやったことをベースに説明してみ...
IT/Computer

サブマリンブランチは困惑する

さすがにサブマリン特許ほどではないが、いままでローカルに保存されていたブランチが突然共有リポジトリにプッシュされて、プルリクエストが送られるという自体が発生すると、どっちを優先させればいいのか困惑する時がある。特に環境移行系の大きなプルリク...
iOS

Xcode 8.0でPodをlintするには

CocoaPodsでlintを通すとき、CocoaPods 1.0.xでは通常、iPhone Simulator 4sを使ってlintが行われるようである。従って、そのままではpod spec lintを走らせても異常終了してしまう。従って...
IT/Computer

Objective-CでSwift用のStatic Propertyを定義するには?

SwiftではSingletonインスタンスをstaticプロパティーとして定義することができるが、Objective-Cではそれを行うことはできない。しかしながら、Swift、特にSwift 3との整合性を図るために、Swiftから呼び出...
IT/Computer

SwiftとObjective-Cは両方覚えておくべき

もしiOS/macOSのアプリ開発でどの言語を使えばいいのか悩んでいるのであれば、SwiftもObjective-Cも両方とも覚えておいたほうが良いだろう。というのも、現時点ではSwiftもObjective-Cもどちらも万能と言えるもので...
iOS

PFImageStoreの開発状況

現在、GitHubでPFImageStoreの開発を行っており、一応、Carthageで使えるようにはなっている。最低限テスト目的で使えるようにはなっているが、現時点ではまだ、使い方については説明していなかったので、ここで一旦説明を行なって...
IT/Computer

アプリはSwift、ライブラリーとフレームワークはObjective-C

今回のXcode 8.0移行時のSwiftマイグレーション問題から、他のライブラリーやフレームワークなどから使われることが前提となるライブラリー/フレームワークはObjective-Cで書いた方が良いという考えに至った。
IT/Computer

開発でもパッケージ管理ツールが必要不可欠になった

これは個人的な感想なのだが、最近、アプリの開発を行う際に、パッケージ管理ツールを使うのが当たり前のことになってきた感がある。1年前どころか半年前ではライブラリーを使うことはもう当たり前のことにはなっていたが、パッケージ管理ツールを使うのはつ...
IT/Computer

Swift 2.xと3.xは共存できない

これは当たり前といえば当たり前なのだが、Swift 2.xと3.xは共存させることはできない。これはSwiftで書かれたフレームワークを使っている場合に問題となるのだが、Swift 3.xを使ったプロジェクトはSwift 2.xで作られたフ...
iOS

Xcode 8.0ではキーチェンアクセスの挙動が変わった?

Xcode 8.0からキーチェンアクセスの挙動が微妙に変わったようである。具体的には、セキュリティーが厳しくなったのか、Xcodeのプロジェクト設定でKeychain Sharingの設定がオフになっている場合は、キーチェンアクセスが機能し...
iOS

簡単な画像ダウンロードライブラリーを作ってみた

独自にライブラリーの開発を行っており、まだ試験的ではあるものの、画像の取得・管理を行うためのライブラリー「PFImageStore」を開発し、GitHubに上げている。現在は試験的に動くようになったという状況のみで、まだ実用レベルには達して...
HTML/Markdown

HTMLを書くのはテキストエディタでもできる

今見ているウェブページは基本的にはHTMLというマークアップ言語で書かれており、その内容は特定の書式で定義づけられたプレーンテキストである。もちろん、実際にはこのほかにもCSSやJavaScript、画像ファイルなどのファイルがリンクされて...
iOS

CocoaPodsやCarthageを使っている場合はXcode 8.0へのアップデートは待った方がいい

もしiOSおよmacOSのアプリプロジェクトでCocoaPodsやCarthageを使っているのであれば、一旦Xcode 8.0へのアップデートは待った方が良い。そうしないと、かなり大変なことになるからである。
IT/Computer

apt-getやaptitudeでmooする

今回はちょっとしたネタとして、Debianのapt-get及びaptitudeコマンドのイースターエッグであるmooについて色々書いてみたい。今回は本当に無駄な小ネタなので、本気にしないでもらいたい。
IT/Computer

Swiftを意識したObjective-Cのヘッダーファイルの作り方

Swiftが登場してから2年以上経過しており、Swiftが使われるパターンもかなり増えている。一方で、プログラミングの仕方によっては、依然としてSwiftが合わないような場合、例えば、ライブラリー開発や、C++を混在させたコードなどがあるが...
IT/Computer

コールバック処理の実装方法について

プログラミング言語などで、何らかの非同期処理やイベントベースの処理を行う際に、「何らかのイベントが届いたら、こういう処理を行う」というような処理の仕方を行うときがある。例えば、ファイルのダウンロード処理などがそれに該当する。この場合は、ダウ...