Cities have an ever increasing wealth of sensing capabilities, recently including also Internet of Things (IoT) systems. However, to fully exploit such sensing capabilities with the aim of offering effective citysensing-driven applications still presents certain obstacles. Indeed, at present, the main limitation in this respect consists of the vast majority of data sources being served on a "best effort" basis. To overcome this limitation, we propose a "resilient and adaptive IoT and social sensing platform". Resilience guarantees the accurate, timely and dependable delivery of the complete/related data required by smart-city applications, while adaptability is introduced to ensure optimal handling of the changing requirements during application provision. The associated middleware consists of two main sets of functionalities: (a) Formulation of sensing requests: selection and discovery of the appropriate data sources; and (b) Establishment and control of the necessary resources (e.g., smart objects, networks, computing/storage points) on the delivery path from sensing devices to the requesting applications. The middleware has the intrinsic feature of producing sensing information at a certain level of detail (geographical scope/timeliness/accuracy/completeness/dependability) as requested by the applications in a given domain. The middleware is assessed and validated at a proof-of-concept level through innovative, dependable and real-time applications expected to be highly reproducible across different cities.