Я обнаружил, что некоторые из наших приложений для iOS имеют предупреждения компоновщика, такие как:
Incompatible Objective-C category definitions. Some category metadata may be lost. 'path/to/libSome.a(Some.o)' and 'path/to/libPrebuilt.a' built with different compilers
После прочтения этой записи я проверил objc_image_info
предварительно собранных библиотек, используя otool
и некоторые из них имеют flags 0x20 OBJC_IMAGE_IS_SIMULATED
, тогда как библиотеки, созданные с использованием новейшего Xcode (11.1), имеют flags 0x40 OBJC_IMAGE_HAS_CATEGORY_CLASS_PROPERTIES
.
Имеет ли это различие objc_image_info
действительно значение для ABI Objective-C? Можно ли вводить сбои приложения?