雑食プログラミング備忘録

カテゴリ: プログラミング

Xcodeを使ってて、プロジェクトナビゲータの状態がおかしな感じで保存されてしまうことがある。
navigator_ss1
このように開いてて、以下のように閉じる。
navigator_ss2

続きを読む

AutoLayoutを使っているとLandscapeとPortraitでレイアウトを分けたくなることがある。
例えばこのような感じだ。
LandscapePortrait_02


LandscapePortrait_01
Landscapeの時はMenuが画面の左側に配置され、Portraitの時はMenuが上側に配置される。
これをAutoLayoutで実現する方法を見ていく。
 続きを読む

iOS10からはiPhone4Sが対象外となったため、「これで3:2のレイアウトを考えなくて済む!」と喜んだ開発者は少なくないことだろう。
もちろん私もその一人だ。

続きを読む

去年(2016年)にこんな話題が一部で盛り上がった。

ネイティブ アプリの OAuth インタラクションを最新にしてユーザビリティとセキュリティを向上する - Google Developers Japan

要は今までのやり方である「WebViewでGoogleの認証を行う」というのが2017年4月20日以降は使えなくなるというものだ。
これは開発者にとって地味に困ったことだ。
以前に実装したものが動かなくなるし、新しい実装を行うにも工数がかかる。

以前作成したサンプルアプリを動かしてみるとこのようになった。
GoogleSignIn_ss01
確かに以前のやり方は使えなくなる旨の注意が表示されている。
では、どういうやり方に変えればいいか。
Google Sign-Inを使えばいいとのことだ。
今回はGoogle Sign-Inを使ってカレンダーの情報を取得するやり方に迫る。
使用しているXcodeのバージョンは8.0だ。
 続きを読む

デバッグ時とリリース時で処理を分けたくなる場合はよくある。
例えば、このように何らかの情報をデバッグ時のみ出力する場合等だ。
しかし、ググってみればわかるが、実行時にはこのBuildConfig.DEBUGはtrueになってくれない。

そこで、それを有効にするためにbuild.gradleのdependenciesに
releaseCompile project(path: ':library', configuration: 'release')
のように記述すれば良いと書いてあるサイトがたくさん見つかる。

しかし、私の環境では以下のようなエラーが出てしまい解決できなかった。
Error:(24, 0) Project with path ':library' could not be found in project ':app'.
なので、別の方法を模索してみる。
 続きを読む

このページのトップヘ