I tried using the Image I/O framework to produce TIFFs rather than diving into adding libtiff to the application. I saved the TIFF images to disk and loaded them in Preview as a way to gauge the correctness of my TIFF generation code. The imagery never shows up in my layer, though, and I take that to mean that there is no SkImageDecoder implementation for TIFF.
Should I be able to send the source bitmap instead of encoding that bitmap as a PNG? I am rendering everything using Core Graphics, creating a UIImage from the bitmap context, and then converting that to PNG data to pass to -setImageData:forEnvelope:. If I could just pull the data buffer from the bitmap context and hand that off as NSData, that would remove a costly step from my pipeline.