If I'm not mistaken, "laying siege" to a castle or town means to cut off supplies into or out of the city until they ran out of supplies and surrendered to your men, and sieges could last for months.
That crane you outlined seems like the perfect target to capture or destroy, which will cut off at least a large chunk (if not all) of the people's ability to get into or out of the castle. From that point, it's just a matter of shooting down, blocking off, or capturing any other means the castle has to supply itself and waiting them out. The besieging army could easily put up decent enough defenses against any expected underside attacks, and maybe take some potshots of their own at people inside the walls to decrease morale.
The attacking army could even start trying to set fire to things inside the floating city via catapults or arrows shooting flaming shots, or whatever brand of fire magic you like; storehouses and homes would be good targets if one wanted to shorten that food supply and/or lower the morale of those inside. Medieval warfare is all about that morale management.