On Thu, Jul 25, 2013 at 3:06 PM, Shazron <[email protected]> wrote: > Comments inline. > > > cordova-ios: > > > > - Move header symbols into .m files where possible (reduce API surface) > > > > Makes sense now since the core code shouldn't be called into with the > exception of some classes like CDVPlugin.h > > > > > - Move resource copy step into an external script > > > > +1 - it's a PITA to edit Run scripts in .pbxproj when not in Xcode > > > > > > - Make Xcode have a custom build step that runs prepare for CLI setup > > > > > as long as it works for people not using the CLI > > > > - Make Xcode's project navigator point to your root www/ and merges/ > > > > > also, have to make sure if user not using the CLI > > > > > - (CB-3900) Have PluginResult that gets populated lazily - at the time of > > being sent over the bridge. > > > > not sure what this is exactly, the issue referred to is an Android issue? > This is more of an Android problem, but there was a report of accelerometer callbacks being sent faster than the bridge could deliver them. Same thing could happen with FileTransfer progress events. The primary example is when there's a JS alert on Android. I figured that this scenario would apply to both platforms though.
The idea here is that a plugin can send a PluginResult that has a callback in it instead of a value. The plugin then knows not to send any further PluginResults until that callback has been called. When the bridge goes to serialize pending PluginResults to be sent to JS, it calls the callback in order to populate the value of the result. This will ensure the PluginResult has the freshest data. This approach should be used for accelerometer, compass, progress events.
