Я бы пошел на первый подход.
Вероятно, вам следует создать две разные версии вашей библиотеки, одну для iPhone и одну для iPad. Это должны быть толстые библиотеки с разными архитектурами (armv6 для iPhone 3G, armv7 для iPhone 3GS и i386 для симулятора iPhone первый, armv7 и i386 для iPad).
По сути, вы строите три разные версии для iPhone, а затем объединяете их в толстый файл с помощью инструмента липосакции.
Затем вы снова создаете две разные версии для iPad и объединяете их, используя lipo. Обратите внимание, что вы не можете повторно использовать для iPad версию armv7 и i386, которую вы изначально скомпилировали для iPhone, потому что вам нужно собрать их, используя компиляторы, принадлежащие двум разным SDK (3.1 для iPhone, 3.2 для iPad).
Я не уверен, позволит ли lipo объединить в один файл две версии библиотеки armv7 или две версии i386 без жалоб. Возможно, вы захотите попробовать это, потому что в этом случае вы можете создать только одну толстую библиотеку в конце всего процесса.