Heat the oven to 350°F. Grease a 9-by-5-inch loaf pan and line it with parchment, leaving an overhang for lifting.
Whisk the flour, baking powder, baking soda, salt, and cinnamon in a medium bowl.
In a large bowl, whisk the granulated sugar, brown sugar, oil, eggs, and vanilla until smooth.
Stir the dry ingredients into the wet mixture just until no dry streaks remain. Fold in the zucchini and diced apple without overmixing.
Scrape the batter into the prepared pan and smooth the top.
For the crumb topping, rub the flour, brown sugar, and cold butter together with your fingertips until coarse crumbs form. Scatter them evenly over the batter.
Bake for 50 to 60 minutes, until a skewer inserted in the center comes out with only a few moist crumbs. Cool in the pan for 15 minutes, then transfer to a rack to cool completely.