I’m trying to build Textual IRC Client from source.
It worked for me in April, using the latest source and the latest XCode at that time, on the same OS X 10.7 computer. Now it does not work.
Example error messages
Expected method to read array element not found on object of type ‘NSArray *’
Expected method to read dictionary element not found on object of type ‘NSDictionary *’
Expected method to write dictionary element not found on object of type ‘NSMutableDictionary *’
I have turned off code signing in the build settings for all projects and targets (by setting Code Signing Identity to Don't Code Sign), otherwise the source is clean.
The errors are because of new features introduced in the Mac OS X 10.8 SDK. Many of them are still backwards compatible to Mac OS X Snow Leopard 10.6 though.
Textual’s
Base SDKbuild setting is set toCurrent OS X. Assuming that the other developers are on Mac OS X Mountain Lion 10.8, they will automatically use the (currently newest) 10.8 SDK. Even if the 10.8 SDK is installed on a 10.7 machine, the compiler will choose the 10.7 SDK because of this OS-dependent setting.The fix: in Textual’s build settings, change
Base SDKtoOS X 10.8orLatest OS X (OS X 10.8)to be able to use the new features.Change the settings for all projects and confirm that the setting has been applied to their respective targets: Main Project (Textual), Blowfish Encryption Framework, Hyperlink Processor Framework, Blowfish Key Control Extension, Brag Spam Extension and finally System Profiler Extension. Building Textual (Standard Release) should now work.
Related commit: Conversion to modern Objective-C introducing 10.8 SDK features.