Debug (and control) your Robotic Arm with iOS

This is my work in progress ~50cm Robotic Arm with 6 AXIS Servo motors, an Arduino and a RaspberryPi (for image recognition in phase 2):

Arduino Robotic Arm 6AXIS iOS controlled

While writing the C++ code in Arduino I found I needed a way to send easily and fast commands to Arduino with my iPhone using Bluetooth.

Basically I need to control my robotic arm using an external device instead of running and running again the code on the Arduino board.

For this reason: I’ve attached a BLE board to Arduino and I have created a simple app (completely written in SwiftUI 😍😎) that use BLE connection to connect to Arduino BLE board and send string commands that are parsed and executed.

Commands sended are like:

Continue reading “Debug (and control) your Robotic Arm with iOS”

iOS – Fake GPS position: how to use and prevent

ios fake gps position

Very often a lots of iOS applications use your gps position to retrieve data or to lock / unlock contents positions based.

With Android you can use lots of apps called Fake GPS or similar that allow you to change your real gps position with a mocked one.

On Android development side this can be blocked checking via code the:

Continue reading “iOS – Fake GPS position: how to use and prevent”

iOS – Data Leakage: App background cache

Today I want to share a simple way to retrieve user data from a native iOS cache image, automatically generated when your app goes in background.

You can retrieve this kind of informations if your phone was lost or Jailbreaked or connecting it to your pc and open an old backup. You can use tools like iBackup Viewer and more…

Let’s see how it works!

Continue reading “iOS – Data Leakage: App background cache”

Swift – Push UIView animation

Simple code snippet today that show how to push a UIView and obtain the same effect of a UINavigationController as push action, choosing also the side (.fromLeft / .fromRight).

We can do this using the CATransitionanimations. Very simple:

func push( view: UIView, side: CATransitionSubtype = .fromRight ) {
    let transition = CATransition()
    transition.type = CATransitionType.push
    transition.subtype = side

    self.layer.add(transition, forKey: nil)
    self.addSubview(view)
}

Enjoy pushing!

Swift – Get app keyWindow

Quick memo to get the keyWindow for all iOS versions until now.

KeyWindow is the “key” window of your entire application. The key window receives keyboard and other non-touch related events. Only one window at a time may be the key window.

Use the #available(iOS 13.0, *) keyword to bypass system check:

Continue reading “Swift – Get app keyWindow”

Swift – FlatUI color palette cocoapod library

As personal utility I’ve created a new FlatUIColor Cocoapod framework.

Consist of a simple UIColor extension with a customized set of my favorite flat colors that I use very often.

To integrate in your project, simply add this line in your Podfile:

pod 'FlatUIColors', :git => 'https://github.com/elpsk/FlatUIColors.git'

Install pods from terminal: $ pod install and open your project $ xed .

Continue reading “Swift – FlatUI color palette cocoapod library”