Apple Reminders gets a useful add-on called Smart Lists. They are basically your normal lists with a smart brain behind them. You can create any list into Smart list by adding conditions to the list. As soon as you create a task that meets all the Smart List conditions, the app will automatically send the task to the Smart List. No manual input is needed from users.
This is one of our favorite iOS 15 tips. Apple Notes finally gets the fan-favorite tags add-on to organize your notes. While writing any note, you can add a #tag, and the app will create a tag out of it. The functionality also extends to the macOS Apple Notes app.
iCloud Private Relay is one of our favorite new additions to iCloud service. Private Relay hides your IP address and Safari browsing activity from network providers and websites so that no one — including Apple can see who you are or what sites you are visiting. It shields your web traffic from prying eyes and spammers. Private Relay hides data from both the ISP and advertisers that aim to build your online profile. iCloud Private Rely is only available for paid iCloud users. You can enable the toggle from the Settings > iCloud > Private Relay menu.
iOS 15 allows you to share health data with your friends and family members. The data you share will appear in their Health app. You will also get an alert for important health metrics like elevated heart rate, etc. It’s all built with privacy and security in mind. Apple only shares a summary of each topic and not the details. The information is encrypted, and you can stop sharing at any time.
A little more complicated “trick”. What if you have forum topics but want to order them by latest post? Pretty common requirement in forums with last updated topics on the top, right? First, describe a separate relationship for the latest post on the topic:
1public function latestPost()2{3 return $this->hasOne(\App\Post::class)->latest();4}
And then, in our controller, we can do this “magic”:
1$users = Topic::with('latestPost')->get()->sortByDesc('latestPost.created_at');
Some emails don’t require an immediate response, but they do need to be handled before the time you have scheduled to review items in your to-do folder. These items can still be moved to your to-do folder so they’re not clogging your inbox, but you’ll want to make sure that you have a reminder to take care of them before a deadline. Create a reminder by adding these emails to Outlook’s task list:
iCloud Keychain gets a much-awaited two-factor authentication support built-in. When you view the password for any website in the iCloud Keychain, you will see an option to Set Up Verification Code for the app. iCloud Keychain users can replace the apps like Microsoft Authenticator and Google Authenticator on the iPhone.
Did you know that you can change the look and feel of Microsoft Teams? Simply open Teams settings, navigate to the General tab and choose whether to use the traditional white background or alternatively apply the dark or high contrast modes.
You really need to use this trick in person to check its awesomeness. You can long-press any image/video/file from one app, open another app, and drop it there. Keep the content pinned using one hand and open another app using another finger and drop the content. It works seamlessly across Apple apps. For example, you can select a photo from the Photos app and use the drag and drop method to attach it to an iMessage conversation.
Many of us write conditional queries with “if-else”, something like this:
1if (request('filter_by') == 'likes') {2 $query->where('likes', '>', request('likes_amount', 0));3}4if (request('filter_by') == 'date') {5 $query->orderBy('created_at', request('ordering_rule', 'desc'));6}
But there’s a better way – to use when():
1$query = Author::query();2$query->when(request('filter_by') == 'likes', function ($q) {3 return $q->where('likes', '>', request('likes_amount', 0));4});5$query->when(request('filter_by') == 'date', function ($q) {6 return $q->orderBy('created_at', request('ordering_rule', 'desc'));7});
It may not feel shorter or more elegant, but the most powerful is passing of the parameters:
1$query = User::query();2$query->when(request('role', false), function ($q, $role) {3 return $q->where('role_id', $role);4});5$authors = $query->get();