The Futureというアプリを作ろうとしていたが、iOS10の仕様変更で断念した話


# はじめに

ある名前のアプリを作りたいと思って、今までにリリースしてきたライブラリを以下のような命名規則で揃えてきました。

### [MisterFution](https://github.com/marty-suzuki/MisterFusion) (230 stars 2016/9/29)

Objective-CとSwiftのどちらでも使える、Swift製のAutoLayout向けのDSLです。
下記のコードのように、コードを削減することができます。
superviewとのConstraintを実装する場合には、toViewをsuperviewにするという指定を省略できることが特徴です。

```swift
//NSLayoutConstraintのサンプルコード
let view = UIView()
self.view.addSubview(view)
view.translatesAutoresizingMaskIntoConstraints = false
self.view.addConstraints([
    NSLayoutConstraint(item: view, attribute: .top,    relatedBy: .equal, toItem: self.view, attribute: .top,    multiplier: 1, constant:  10),
    NSLayoutConstraint(item: view, attribute: .right,  relatedBy: .equal, toItem: self.view, attribute: .right,  multiplier: 1, constant: -10),
    NSLayoutConstraint(item: view, attribute: .left,   relatedBy: .equal, toItem: self.view, attribute: .left,   multiplier: 1, constant:  10),
    NSLayoutConstraint(item: view, attribute: .bottom, relatedBy: .equal, toItem: self.view, attribute: .bottom, multiplier: 1, constant: -10),
])
```

```swift
//MisterFusionを使ったNSLayoutConstraintのサンプルコード
let view = UIView()
self.view.addLayoutSubview(view, andConstraints:
    view.top    |+| 10,
    view.right  |-| 10,
    view.left   |+| 10,
    view.bottom |-| 10
)
```

詳しい使い方は、[こちら](http://qiita.com/marty-suzuki/items/a723a344d8c371e615ba)で紹介しています。

### [MartyJunior](https://github.com/marty-suzuki/MartyJunior) (217 stars 2016/9/29)

スワイプによるタブ選択を実現しつつ、縦のスクロールが2段階にならずにヘッダーとも連動できるUIライブラリです。
該当のタブのUITableViewをスクロールした際に、他のタブの要素が足りなかった場合の保管なども行われています。

![](https://github.com/marty-suzuki/MartyJunior/raw/master/Images/sample.gif)

### [HoverConversion](https://github.com/marty-suzuki/HoverConversion) (125 stars 2016/9/29)

UITableViewの縦のスクロールに合わせて、UIViewControllerが縦方向にページングすることができるUIライブラリです。
ルートにあるViewControllerと連動させることで、現在表示中のViewControllerと紐付いているCellをハイライトすることができます。

![](https://github.com/marty-suzuki/HoverConversion/raw/master/Images/sample1.gif)

詳しい使い方は、[こちら](http://qiita.com/marty-suzuki/items/f6630543142c34d442ed)で紹介しています。

### お気づきの方もいらっしゃるかもしれませんが...

![bttf.png](https://qiita-image-store.s3.amazonaws.com/0/60325/7c75a50d-9d42-9738-1a27-6702b37e263c.png)

これらのライブラリは、**Back to the future**に出てくるものと関連しています。

- **MR. FUSION**... エネルギーを生成する装置

<img src="https://qiita-image-store.s3.amazonaws.com/0/60325/9ede1966-a0fa-d7ba-a2a0-22c08130143f.jpeg" width="50%" />

- **Marty McFly Jr.**... マーティの息子

<img src="https://qiita-image-store.s3.amazonaws.com/0/60325/fdd63f8c-8b04-0148-8021-3ffb448d8efe.jpeg" width="50%" />

- **Hover Conversion**... デロリアンを飛行可能にする装置

<img src="https://qiita-image-store.s3.amazonaws.com/0/60325/85438b87-342f-c016-8343-f9339a3843c9.jpeg" width="50%" />

## iOS9での"アプリに戻る"ボタン

アプリから他のアプリに遷移した際に、"アプリに戻る"ボタンが表示されます。

![back.jpg](https://qiita-image-store.s3.amazonaws.com/0/60325/c4eb674c-45c7-9cca-ad8e-c6a6fd1997b2.jpeg)

端末の設定を英語表記にすると...

![ios9_navigation.png](https://qiita-image-store.s3.amazonaws.com/0/60325/83ac2494-e54a-8900-66b1-16905ed33021.png)

なんと**Back to the future**になるではありませんか！

## 悲劇はここから

iOS10にアップデートすると表記が...

![ios10_navigation.png](https://qiita-image-store.s3.amazonaws.com/0/60325/7e453946-7b96-6c25-01c9-67da4fba8e62.png)

**◀ The Future**  ・・・ えっ

# 最後に

iOS10からの"アプリに戻る"ボタンが`◀ アプリ名`に変わってしまったので、端末上でさり気なく`Back to the future`を表示することはできなくなってしまいましたが、引き続きライブラリ名は**Back to the future**絡みの名前にしていこうと思います。（過去に戻りたい...）

![Xkkd7.jpg](https://qiita-image-store.s3.amazonaws.com/0/60325/ff94396b-db06-c350-8c20-170bffe98326.jpeg)