Sim, é possível construir frameworks de forma que o usuário do framework não possa ver o código-fonte.
Confira estes artigos (usei com sucesso o primeiro para criar estruturas no passado - os artigos posteriores são atualizações do original):
http://www.drobnik.com/touch/2010/04/making-your-own-iphone-frameworks/
http://www.drobnik.com/touch/2010/05/making-your-own-iphone-frameworks-in-xcode/
http://www.drobnik.com/touch/2010/10/embedding-binary-resources/
Para usar a estrutura, seus usuários simplesmente arrastariam o pacote .framework para o Xcode. Eles serão capazes de ver os arquivos de cabeçalho que você copiou para o pacote (veja os artigos acima), mas não a fonte (já que não está incluída - apenas a saída compilada está no pacote).
Essa também pode ser uma ótima maneira de distribuir o código usado para vários projetos em sua empresa.
Atualizar:
Confira o link sem penas adicionado abaixo - é muito mais recente e tudo em uma página: http://github.com/jverkoey/iOS-Framework . Ele também apresenta os problemas com várias outras abordagens. Este é o guia que sigo agora quando tento me lembrar do que fazer ao configurar uma nova estrutura. :)
Update2 (com versão Xcode 6)
Existe uma opção, exatamente que você está procurando
Universal Framework for iOS
:!
Meu código ficará visível para outras pessoas? R: Não. Este Framework exportará um binário compilado, para que qualquer pessoa possa ver dentro dele. Você pode fazer o mesmo para alguns outros arquivos, como XIBs.
Por que preciso disso? R: Isso é para desenvolvedores / equipes que desejam compartilhar seus códigos sem mostrar o código inteiro (arquivos .m / .c / .cpp). Além disso, é para quem deseja organizar código compilado + recursos (imagens, vídeos, sons, XIBs, plist, etc) em um único lugar. E isso também é para aquelas equipes que querem trabalhar juntas acima da mesma base (framework).
(c) http://blog.db-in.com/universal-framework-for-ios/