I found the answer for anyone interested.
In the AppController.mm
Look for the function:
- (void) applicationDidReceiveMemoryWarning:(UIApplication*)application
{
printf_console("WARNING -> applicationDidReceiveMemoryWarning()
");
}
This is the function that is called when your app receives a low memory warning.
Next you must add a UnitySendMessage to your Unity code, so that you can receive the low memory warning message in your Unity code.
So, you must modify the applicationDidReceiveMemoryWarning function by writing this code:
- (void) applicationDidReceiveMemoryWarning:(UIApplication*)application
{
printf_console("WARNING -> applicationDidReceiveMemoryWarning()
");
// This is your added call to send a message to your Unity code.
// The first parameter is the name of the class you'll be using to receive the
// low memory warning message. Mine is MemoryManager, yours can be whatever
// you name your class.
// The second parameter is the name of the method/function within your class
// that you will be using to receive the low memory warning and handle it
// appropriately however you see fit. Mine is ReceivedMemoryWarning, yours can
// be whatever you like.
// Don't forget that your function/method within your Unity C#/Javascript/etc
// code, must be a void return value with a string parameter.
// E.g.
// public void ReceivedMemoryWarning(string message)
// The third parameter can be a null string, or whatever string you want your
// message that is sent to say.
UnitySendMessage("MemoryManager", "ReceivedMemoryWarning","");
}
After you add this message call to the AppController.mm file, in your Unity code, add a new file for the class that will be receiving the message. Mine happens to be in C#, but it can be any file type. Mine is MemoyManager.cs.
Then add the code:
using UnityEngine;
using System.Collections;
public class MemoryManager : MonoBehaviour
{
//Function is called when a lowMemoryWarning is received
public void ReceivedMemoryWarning(string message)
{
Debug.Log("Memory Manager RECEIVED LOW MEMORY WARNING!");
}
}
This class now receives the message sent from the AppController.mm, and within your own function, mine is ReceivedMemoryWarning, handle how you deal with, free up memory within your game/project.
Also, it’s worth mentioning if you want to modify the AppController.mm and have it update automatically in xCode every time, first create a folder in your Assets folder within the Project hierarchy window named “iOS” under the Plugins folder, so the hierarchy directory is Assets/Plugins/iOS. Then drag the AppController.mm file into that folder with your modified code, and Unity will automatically update your changes when it builds to xCode.
I hope that helps for everyone who is looking to do this, whether you’re a programmer or not.