Stop OpenAI’s ChatGPT User agent from scanning and using your website’s content.

Background:

Wikipedia Describes ChatGPT as an AI chatbot developed by OpenAI. ChatGPT is an artificial intelligence (AI) chatbot developed by OpenAI and launched in November 2022. It is built on top of OpenAI’s GPT-3.5 and GPT-4 families of large language models (LLMs) and has been fine-tuned (an approach to transfer learning) using both supervised and reinforcement learning techniques.

ChatGPT can access real-time info from the web using plug-ins.

If you don’t want the ChatGPT User-agent to use your website’s data, you can block it using your robots.txt file.

A ‘robots.txt’ file is generally located at the root of the web server and can be accessed using SFTP or can be viewed using this URL:

https://yourwebsite.com/robots.txt

(replace ‘yourwebsite.com’ with your domain name)

You need to add this rule to your website’s ‘robot.txt’ file

Continue reading “Stop OpenAI’s ChatGPT User agent from scanning and using your website’s content.”

Recover accidentally deleted Apple Address Book Contacts, Calendars and Safari Bookmarks from Apple iCloud

Apple’s iCloud is for iPhone, iPad and Mac cloud data syncing platforms activated by default for every Apple ID on any Apple device. Apple introduced Apple iCloud after the failure of MobileMe cloud offerings for Apple iPhone, iPad and Mac.

In day-to-day life, it may happen that you may accidentally delete or lose your Apple Address Book contacts or Safari Bookmarks or Calender data. But there is a way to restore in the case of loss. You can go to iCloud.com to restore your missing data from an earlier version.

Once you restore old data with current data, the existing data will get replaced. The restoration process can be undone in case of any glitches.

Restore your contacts, bookmarks or calendars from an earlier version

Continue reading “Recover accidentally deleted Apple Address Book Contacts, Calendars and Safari Bookmarks from Apple iCloud”

With the release of macOS Big Sur & macOS Monterey, the user cannot format External Hard Disk to ‘Mac OS Extended (Journaled, Encrypted)’ format as there is no option to do the same.

With the release of the macOS Big Sur Mac Operating System, Apple has removed the option under Disk Utility to allow users to format External Hard Drive to Mac OS Extended (Journaled, Encrypted) format.

There is only one option for Mac OS Extended (Journaled) but no choice with encryption. It only allows users to format Hard Disk with Apple File System APFS without encryption, with encryption & with case sensitivity.

Continue reading “With the release of macOS Big Sur & macOS Monterey, the user cannot format External Hard Disk to ‘Mac OS Extended (Journaled, Encrypted)’ format as there is no option to do the same.”

Apply UIVisualEffectView & UIBlurEffect to any Views in iOS / iPadOS or macOS app.

Apple describes UIVisualEffectView & UIBlurView in its support document as follows:
Depending on the desired effect, the effect may affect content layered behind the view or content added to the visual effect view’s contentView. Apply a visual effect view to an existing view and then apply a UIBlurEffect or UIVibrancyEffect object to apply a blur or vibrancy effect to the existing view. After you add the visual effect view to the view hierarchy, add any subviews to the contentView property of the visual effect view. Do not add subviews directly to the visual effect view itself.

In other words, you don’t have to use Adobe Photoshop to get a blur effect and fake superimpose it on your UIView. Instead, you can programmatically get the same effect for every situation without hassle.

Note: If you are using UIVisualEffectsView in your app, I would strongly suggest you use a system setting called ‘Reduced Transparency’ to condition code it. If the user doesn’t want transparency, Blur, or Vibrancy effect for all of the apps on his iPhone, iPad, or Mac, he can do it with a single switch in the settings app. Another note view that you are applying effect should preferably be the Popover View Controller. Another thing to remember is to replace the blue color below with the UIColor of your choice with alpha channel transparency.

For UITableView and UITableViewCell, use the following code in your UITableViewController’s viewWillAppear function:

Continue reading “Apply UIVisualEffectView & UIBlurEffect to any Views in iOS / iPadOS or macOS app.”

Add a mouse hover effect / UIPointer Interaction to any iOS or iPadOS app views.

As Apple describes Pointer Interactions in its support document:

Pointer Interactions: Support pointer interactions in your custom controls and views.

iPadOS 13.4 introduces dynamic pointer effects and behaviours that enhance the experience of using an iPad with an external input device, like a trackpad or mouse. As people use an input device, iPadOS automatically adapts the pointer to the current context, providing rich visual feedback and the precision needed to enhance productivity and simplify everyday tasks.

Note:
UIPointer Interaction is only related to the iPad / iPadOS app

Initial Step:
Add ‘UIPointerInteractionDelegate’ in your View Controller’s Class Declaration

For UIButton:

Out-of-Box Implementation:

button.isPointerInteractionEnabled = true

UIView and Custom Implementation for UIButton:

Continue reading “Add a mouse hover effect / UIPointer Interaction to any iOS or iPadOS app views.”

Get the iOS, iPadOS, and macOS operating system names, versions, and model identifiers programmatically.

Programmatically get iOS, iPadOS, macOS Catalyst Operating System Name and Version and a model identifier of iPhone, iPad, and Mac devices.

Here is a simple way to programmatically get the operating system name and version of your iOS, iPadOS and macOS.

The code below will also return the value of the iPhone, iPad, and Mac Model identifiers to help you determine whether the device is a MacBook or iMac in a Mac case, an iPhone 11 Pro, or an iPhone 13 Pro.

Step 01:
First, import IOKit. It is only required for macOS Catalyst app-specific code.

Continue reading “Get the iOS, iPadOS, and macOS operating system names, versions, and model identifiers programmatically.”

Get iOS, iPadOS and macOS app Versions and Build numbers programmatically.

Here is a small function I have written that you can use in your iOS, iPadOS or macOS Catalyst app to get your app’s current version, build number, and print it on the screen whether it will be on the app’s about or support view.

Copy the below function in the Xcode project’s UIViewController Swift class file.

Continue reading “Get iOS, iPadOS and macOS app Versions and Build numbers programmatically.”

Reset the Bluetooth module using the Terminal app on your Mac.

Here is the simplest way to reset the Bluetooth module on your Mac if you face any issues using your Bluetooth mouse (Magic Mouse) or Bluetooth keyboard (Magic Keyboard).

This command will reset Bluetooth on your Mac and then connect to all Bluetooth devices again after the reset.

Step 01:
Open the Terminal app from your Mac’s Applications > Utility folder.

Step 02:
Now copy-paste the below command in the terminal to reset Bluetooth on your Mac

Continue reading “Reset the Bluetooth module using the Terminal app on your Mac.”

How to save your contact’s WhatsApp Profile Photo

A few years ago WhatsApp was allowing WhatsApp Mobile / iPhone / Android and Mac app used to save any contact’s profile photo by clicking on the action sheet button and then tapping save.

But then WhatsApp removed that button.

But somehow one trick works.

Assumption: We assume that you have connected WhatsApp iPhone & Mac apps. You have already added your WhatsApp mac app to your iPhone number by scanning a QR code.

Step 01: Choose any of your WhatsApp contacts.

Step 02: Click on their name or photo at the top header or navigation bar.

Continue reading “How to save your contact’s WhatsApp Profile Photo”