Earlier this week Apple released Xcode 5.1 which brought forth a new version of the Clang compiler that is based on LLVM 3.4 from the subversion repository hosted by llvm.org . Adding support for new compilers for Reader Mobile SDK is always something we try and stay ahead of (when we can: Apple is nice enough to put out betas of new IDEs and compilers before they go live). Unfortunately this time around we got bit a little harder than we expected to by this new version of Clang and its stricter conformance to standards for the languages it supports. While our engineers are hard at work fixing the problems we wanted to let everyone know that we are working on providing support for building Reader Mobile SDK with the latest tools from Apple and to expect this support to be in our next release of Reader Mobile SDK. In the mean time those of you wanting to make sure your applications for iOS 7.1, please continue using a previous version of Xcode (5.0.2 sounds like a good choice).
So what bit us so hard?
This time around we ran into some type mismatches that are deep into the foundation of Reader Mobile SDK and working these out has involved all sorts of fun that we C++ programmers have grown to love over our careers! A fair number of things that we have run into are mostly attributed to Reader Mobile SDK being a fairly large project. We have run into duplicate declarations of functions that have different types, some template programming, and some weirdness in the headers that were included in various places across a few of the components that make up Reader Mobile SDK.
It sounds like the problems are understood, why don’t we have fixes for them yet?
While Datalogics engineers have a good understanding of the problems that have come up they are also hard at work making sure that these changes are not going to cause any problems, specifically in the rendering of ePub or PDF files, as the bulk of the changes were around low level types used in math operations in Reader Mobile SDK. Datalogics has always been cautious when modifying these areas in our products because we know that the level of quality of rendering documents is important to our customers and their users.
Please bear with us as we work expediently to deliver quality products with support for the latest and greatest toolsets for the platforms we support! And stick with Xcode 5.0.2 until you hear from us in a service bulletin and new blog post.