Pre-heat the oven to 180C / 355F and line a 8 – 9 inch square (or equivalent) baking pan with baking paper.
Combine the flour, baking powder, baking soda, coconut, and salt in a large bowl.
Mash the banana in another large bowl, then whisk in the eggs, sugar, oil, pineapple and juice, cinnamon and ginger.
Add the dry ingredients into the wet ingredients and stir until just combined (take care not to overmix).
Pour into the baking pan, then bake for 25 to 30 minutes until a skewer inserted into the centre of the cake comes out more or less clean.
Let cool in the pan for 10 minutes, then transfer to a cooling rack.
Beat the cream cheese with a hand-held whisk, then slowly whisk in the icing / powdered sugar until you have a thick frosting. Pile on top of the cake (nice and thick!) when the cake is completely cool.
How long the cake lasts: I find this cake is fine for at least 4 days. I’m afraid there’s never been any left after that to find out how much longer it would last!