This maintenance update to DTFoundation contains several minor fixes and a few new CocoaPods sub specs.
- FIXED: Added armv7s to static library targets (iOS)
- FIXED: [DTZipArchive] unit test would sometimes fail
- FIXED: Analyzer warnings
- FIXED: Log message of main thread checker would mention incorrect symbol for debugging
- ADDED: CocoaPods specs for DTScripting, Debug and Runtime
- ADDED: Dynamic framework for iOS8
- REMOVED: Deprecated static framework for iOS
Because Xcode 6 dropped the armv7s architecture from the standard architectures (now only arm64 and armv7) I argue that component vendors need to include armv7s in their static library targets to let the developer using the component decided whether or not to include this architecture. Because of this I added arm7vs to all static lib targets.
Several pesky analyzer warnings were fixed, thanks Chris Wilson!
I have a main thread checker in DTFoundation since February 2013, but only now it is available via Cocoapods sub spec DTFoundation/Debug. Apparently some change (either in Xcode or CocoaPods) causes the symbol name of category methods to include the category name. So the log message was amended to take the method name from the compiler instead of hard coding it. The DTScripting methods are used in our iCatalog products for allowing Objective-C scripting support.
Finally I added a new dynamic framework for iOS 8 and above to match the new dynamic framework for OS X. Xcode would get confused by two iOS targets having the same product name DTFoundation.framework and so I removed the previously existing static framework. Nobody ever was really using this and since it is an ugly hack it had to go. The new dynamic framework allows you to embed it into iOS 8 apps and you get the benefit of dynamic linking. I’m using this in the ProductLayer framework. There I am using some methods from DTFoundation but I don’t want to have to statically link into DTFoundation into a static framework. This way I can have dynamic frameworks for both included in my app and no longer need to duplicate code of DTFoundation.
The update is available via CocoaPods and has also been tagged on GitHub.