本記事はこの記事の日本語訳です。翻訳許可をいただいております。 以下翻訳: もし Cocoa 開発やソフトウェアビジネスのブートストラップについての最新の記事を常にキャッチアップしたいなら、ぜひ Twitter で私をフォローするかメールリストを購読してください。 開発者として、パフォーマンスの良さは我々のユーザにワクワクと嬉しさを与えるのに評価しきれないほど貴重なものです。iOS ユーザの目は非常に高く、そのためもしあなたのアプリが動作がモサモサしたり、すぐにメモリプレッシャーでクラッシュしたりすると、彼らはあなたのアプリを削除するか、最悪悪いレビューまで残してしまうでしょう。 私はアップルに 6 年間を在籍し、その歳月を Cocoa フレームワークやファーストパーティーのアプリに費やしてきましいた。私が手掛けたものには Spotlight、iCloud、app extensions、そ
※本記事は一般に公開されている範囲で書いています。スクリーンショットの添付は自粛します Xcode 11.4 からiOSシミュレータがプッシュ通知のシミュレーションをサポートしますね。 Simulator supports simulating remote push notifications, including background content fetch notifications. Xcode 11.4 Beta Release Notes シミュレータでプッシュ通知をシミュレーションする方法は2つありますが、両方とも有効な Apple Push Notification Service payload という以下のようなフォーマットのJSONファイルが必要になります(拡張子は .apns である必要があります)。
UITableViewDiffableDataSourceでできること UITableViewDiffableDataSourceは以下の2つの整合性を担保してくれます。 UITableViewのデータソース UITableViewのCell表示とアニメーション これにより、UITableViewのよくあるクラッシュ要因であるCellの追加・削除・移動時のデータソースとCell表示アニメーションの不整合を防ぐことができるようになります。 iOS 13 以上がターゲットのプロジェクトではよほどのことがない限りUITableViewDiffableDataSourceを使うのがおすすめです。 実装例 class MyTableViewController: UITableViewController { // Hashableに準拠したSection・Item用の型を用意。 enum Sect
Extensible mobile app debuggerFlipper is a platform for debugging iOS, Android and React Native apps. Visualize, inspect, and control your apps from a simple desktop interface. Use Flipper as is or extend it using the plugin API. ToolsMobile developmentFlipper aims to be your number one companion for mobile app development on iOS and Android. Therefore, we provide a bunch of useful tools including
The new Transporter app for macOS makes it easy to upload your binary to App Store Connect. To get started, download Transporter from the Mac App Store, and simply drag and drop your binaries into the upload window. With Transporter you can: Upload your .ipa or .pkg files to App Store Connect.View delivery progress, including validation warnings, errors, and delivery logs, so you can quickly fix a
10/25追記: Application Loaderの後継となる公式アプリとして、TransporterがMac App Storeに公開されました。 Transporter Apple開発ツール無料apps.apple.com これで安泰ですね。 Xcode 11がMac App Storeからもダウンロードできるようになりました。既にアップデートした方もいるかと思います。 さて、世の中にはXcode本体を使わずにApp Store Connectにipaファイルをアップロードする方法を何とかして見つけないといけない、ちょっと辛い状況を抱えた人々が存在します。Xcodeでのアップロードが上手くいかなかったり、サードパーティの開発ツールからipaファイルを直接与えられてしまったりと、事情は様々ですが、そういった人たちはこれまで、Application Loaderを使うのが一般的でした。
iOSDCの登壇が終わってホッとしているかっくんです。 先日リリースされたFamm 4.0.0 にてiOS 13/iPad OS 13向けの対応を行いました。 この記事ではどの様にして対応を進めたのかを共有します。 社内調整 WWDC 2019が終わり帰国してすぐに社内向けの調整を行いました。 ざっくりいうと「8月いっぱいはiOS 13/iPad OS 13向けの対応を行いたいのでiOSチームはよほど緊急対応が無い限りは他の案件はストップしたい」という事を伝え了承してもらいました。 恐らく、何よりもこの部分が難しい会社も多いだろうことは想像に容易いですが、快諾してくれたPO及び社内のメンバーには感謝しています。 新機能 Dark Mode iOSDCなどの登壇を見て頂いた方もいるかもしれませんが、WWDC 2019前1後2で僕はとてもDark Modeを推進していました。 さすがにこの状態
更新情報 2019/08/28: 初版公開 2020/11/25: 各項目について現在の状況を追記 ⚓ はじめに こんにちは、主にiOSアプリの開発を担当している川島と申します。 iOS 13のリリースが間近に迫りつつあり、またWWDC2019ではSwiftUIを始めとした新しいツール等の発表、ARKit2やCombineフレームワークなどの発表などにより、昨今のiOS界隈が盛り上がりを見せています。 そうした新しいツールや技術が登場する反面、Appleはバッサリとした互換切りや新技術への対応を短期間で強いる傾向にあり、既存プロジェクトの保守などをしているiOSアプリエンジニアはこの時期に頭を悩ませる人が多いのではないでしょうか。 2年前のSafeArea対応なんかは記憶に新しいですね。 今年もそうした「〇〇対応が必須」のような情報はチラホラと聞きますが、断片的な情報が多い印象です。 この
Apple Services Marketing Tools Share links, custom assets, badges, widgets and more. Afghanistan Albania Algeria Angola Anguilla Antigua and Barbuda Argentina Armenia Australia Austria Azerbaijan Bahamas Bahrain Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Brazil Brunei Darussalam Bulgaria Burkina Faso Cambodia Cameroon Canada Cape Verde Cayman Islan
はじめに Xcode11が出たので、iOS13のScene-Basedライフサイクルの調べました。 iOS12までは、アプリライフサイクル(AppDelegate)でしたが、iOS13からは、Scene-Basedライフサイクル(UISceneDelegate)が使えるようになりました。Xcode11に実装して動きを調べてみたので、図にしてみました。 Scene-Basedライフサイクル(ios13以降) 大きな考え方は、ios12のApp-Basedライフサイクルとそれほど変わらなさそうです。 以下の図の赤色部分は、AppDelegateのメソッド、黒色の部分は、SceneDelegateのメソッドです。 フォアグランドに遷移する時には、以下のメソッドが呼ばれます。 - func sceneWillEnterForeground(UIScene) - func sceneDidBecom
AndroidやWindowsではバックグラウンドで定期処理を実行することは比較的容易です。これと同様にiOSでも同じ機能を実装しようとすると問題に直面します。直面するというか、その機能はiOSでは実装できません。 iOSのバックグラウンド処理 UILocalNotificationで実行 UILocalNotificationを使えば、指定時間後にiOSからアプリの処理を実行させることができます。アプリがバックグランドでも、起動していなくても可能です。しかし、これはNotificationの通知からアプリを起動したときに呼ばれるメソッドです。Notificationの通知が発生したら呼び出されるわけではありません。起動中だと呼び出されるのですが。バックグラウンドで継続して定期的な処理を走らせることはできません。なお、iOS10以降ではUILocalNotificationはdepreca
Firebaseに渡すcontent_availableというパラメータがtrueになっていないかを確認する。 Firebase公式ドキュメント iOS では、このフィールドを使用して APNs ペイロードで content-available を表します。通知やメッセージの送信時にこのフィールドが true に設定されている場合、アクティブでないクライアント アプリのスリープ状態が解除されます。Android では、既定でデータ メッセージによってアプリのスリープ状態が解除されます。Chrome では現在サポートされていません。 上記の記述からして一見フォアグラウンド通知とは関係なさそうだが、実際の挙動を確認してみると、これがtrueの場合はアプリがフォアグラウンドだろうがバックグラウンドだろうが同じメソッドが呼ばれるということのようだ。 で、なぜかデフォルトのwillPresentNo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く