Interface Builder can't see classes in a static library

筅森魡賤 提交于 2019-11-29 00:44:19

问题


I have refactored some UIView sub-classes into a static library. However, when using Interface Builder to create view components for a project that uses the static library I find that it is unaware of the library classes. What do I need to do to make the class interfaces visible to Interface Builder?

Update: The correct answer refers to dragging the headers into the 'XIB browser'. The '.h' files can be dragged from a finder window to the window area identified in this image:

alt text http://img211.imageshack.us/img211/1221/xibbrowser.png


回答1:


Try dragging the static library into your xib browser in Interface Builder. I haven't tried this with a static library, but the concept is the same. When you drag header files into IB, you can access those classes.




回答2:


LexH, try linking with the -ObjC flag when building your static library. That worked for me... for about a year :-) I found this post as the problem has returned with a fresh OSX install and an upgrade in xcode. But it worked in XCode 3.1.2.

  • David



回答3:


Add the same problem as LexH. It worked only when I called a dummy class method. The problem was that I did not add my static library to the "link binary with libraries" under target. Strangely everything else worked.

I followed this guide to link with my static lib Create static lib




回答4:


I had the same problem. Dragging the library or headers to XIB Browser didn't work. Read Class Files didn't work. So I called:

[MyLibraryClass version];    // Substitute your class name for "MyLibraryClass".

This worked. version is a class method of NSObject, so all subclasses of NSObject inherit it.



来源:https://stackoverflow.com/questions/1058766/interface-builder-cant-see-classes-in-a-static-library

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!