Closed jiro closed 4 years ago
https://developer.apple.com/news/?id=11182019a
WWDCアプリがApple Developerアプリとしてリニューアル
Starting today, the WWDC app is now the Apple Developer app and delivers in-depth information from Apple experts all year round. Stay up to date with the latest developer news, informative videos, WWDC content, and more.
https://nshipster.com/secrets/
🧠 NORMAL BRAIN Hard-Code Secrets in Source Code
普通の人たち
ソースコードにハードコードするのはよくない。 リバースエンジニアリングをすればすぐに解読できる。
🧠 BIG BRAIN Store Secrets in Xcode Configuration and Info.plist
考える人たち
12-Factor Appにあるように設定値や環境変数はコードとは別にした方が良い。 Info.plistに特秘値を書いていく。そうすると当然コードのリバースエンジニアリングはできないが、ファイルとしてむしろ簡単にアクセスできるようになってしまう。
🧠 COSMIC BRAIN Obfuscate Secrets Using Code Generation
すごい人たち
特秘値はコミットせずに、特秘値を難読化したコードを自動生成するコードを書く。 そうするとコード自体はリバースエンジニアリングされても、簡単に読むことはできなくなる。
🧠 GALAXY BRAIN Don’t Store Secrets On-Device
めちゃすごい人たち
Secure Enclaveを利用して、特秘値を安全に取得して格納することができる。 Appleの以下の仕組みを利用することもできる:
- On-Demand Resources: Download a data asset containing a plain-text secret.
- CloudKit Database: Set secrets in a private database in your CloudKit Dashboard. (Bonus: Subscribe to changes for automatic credential rolling functionality)
- Background Updates: Push secrets silently to clients as soon as they come online via APNS.
Secure Enclaveは安全だが、利用用途が意図しないかもしれない。
🧠 UNIVERSE BRAIN Client Secrecy is Impossible
悟った人たち
そもそもクラインアントで実行される限り、クラインアントで安全に保持することは難しい。 例えばAPIのキーであれば、サーバーで処理できないかを考えるべき。
彼らの結論は以下:
Restating our original question: “How do I store secrets securely on the client?”
Our answer: “Don’t (but if you must, obfuscation wouldn’t hurt).”
最初に質問に立ち戻ると: 「クラインとでどのようにシークレットを安全に保存するのか?」
彼らの答え: 「するな(もしどうしてもなら、難読化に害なし)」
前回の続き ユーザー画面の設計について
Best3は以下
Year: 2015 Difficulty: Intermediate
Year: 2015 Difficulty: Advanced
Year: 2018 Difficulty: Intermediate
先日、樫原さんとランチタイムビデオで iOSDCのHeart of Swift
を観た
ここでもProtocol-Oriented Programming
とValue Semantics
の話をしていて
とてもためになった。SwiftUIの書き方の部分でもとても参考になる。
Heart of Swift
Apple Special event honoring our favorite apps and games of 2019. https://twitter.com/LanceUlanoff/status/1196541112992829440
人間がやることは以下の3つ
/bitrise-yashima-ios branch: develop | workflow: prepare_release
を実行今日できなかったトピックは来週のIssueに移してもらえると嬉しいです。 👉 https://github.com/wantedly/ios_night/issues/76
⚠️ This repository is public. / 公開リポジトリです。
Why
Where
Pearl Jam (Subject to change)
5F, MG Shirokanedai Building (Wantedly, Inc. Tokyo HQ)
Who
You are working for Wantedly? Sure, you can join anytime. If not, you need to contact us first. Or, you can "want to visit" the meetup, which you can find in www.wantedly.com/companies/wantedly/projects.
What
You write topics like below contents and we talk about these on the meetup. Every participant needs to write one topic at least.
Also, you can find new topics from the newsletters:
How
・・・
参加者は開催までに話したいことを少なくとも1トピックをコメントしましょう。 ネタ被りを避けるために、まずはタイトルだけでコメントすることを推奨します。 より多くの学びを得るためにどんな内容でもアウトプットを歓迎します!😊
cc/ @wantedly/ios
Edit this template
Previous issue