* Update README for iOS Manual plugin installation
Wrong/incomplete path to Codepush iOS library set in the `Header Search Paths` causes Xcode to fail without specifying any errors.
The path to the library should be changed from
```
$(SRCROOT)/../node_modules/react-native-code-push
to
$(SRCROOT)/../node_modules/react-native-code-push/ios
```
Small detail but might cause a developer significant amount of time trying to pin down the cause of the build failure, especially when Xcode does not return any useful error.
The Xcode log when the header search path is wrong:
```
# Exit Status 65
Verify final result code for completed build operation
Build operation failed without specifying any errors. Individual build tasks may have failed for unknown reasons.
One possible cause is if there are too many (possibly zombie) processes; in this case, rebooting may fix the problem.
Some individual build task failures (up to 12) may be listed below.
```
Cheers!
* Update related screenshot for `Header Search Path`
Update related screenshot for `Header Search Path` configuration for manual iOS plugin installation
In issue #477 there was an issue when the project has, for some reason, multiple AppDelegate.m files (eg project sample files) within the ios subdir of an RN project.
This fix will give priority to the AppDelegate.m found inside any path that has the application name (as defined in package.json) in it. If it cannot find that, it will revert to previous behavior (the first element in the path array).
* Upgrade example app to RN 0.35.0
* Update supported versions in README
* Support RN 35 - make a copy of objects queued over the bridge if they are mutable
This line was added in React Native 0.35.0: https://github.com/facebook/react-native/blob/v0.35.0/Libraries/Utilities/MessageQueue.js#L194 (facebook/react-native@145109f). It essentially deep freezes (or makes immutable) any object sent from JS to Native over the bridge. This object is already pass-by-value to begin with, so I assume the purpose of this is to avoid any ambiguity or confusion that might occur if the object is modified while it is sitting in the message queue.
We do send a localPackage object over the bridge, which we modify afterwards. Because we only care about the value of this object at the moment that it is queued, the fix is to make a copy of it before sending it over the bridge.
This is relevant to issue #536 (RN version support).
On Android, prevent hash mismatches by ensuring the hashing algorithm ignores OS X metadata (.DS_Store and __MACOSX). This addresses #472, and mirrors #471, which is the iOS side of the fix.
This allows the server to maintain backward compatibility by distinguishing between different plugins (e.g. React Native/Cordova/Windows), as well as individual versions of these plugins, without needing to use the old SDK version (which refers to the acquisition SDK, which is shared between all plugins).
This will also enable us to resolve#514, by rolling out a CDN only for newer plugin versions. (On the Cordova end at the very least, some users have plugins installed that have a whitelist of acceptable endpoints).
* Upgrade example app to RN 0.34.1
* Fix Android reflection logic to support RN 0.34 (as reported in #536), while maintaining backward compatibility
* Bump package.json and update supported RN versions in README
The async calls in CodePush for ReactWindows can all be executed on any background thread, so adding .ConfigureAwait(false) can improve performance and reduce the likelihood of deadlock. The blocking calls in `InitializeUpdateAfterRestart()` were hanging, but now that .ConfigureAwait(false) is used pervasively, it is no longer a problem.
Fixes#550
Includes the following changes:
* UpdateState.Lastest -> UpdateState.Latest
* Added *Async suffix to Task returning methods
* Using DateTimeOffset in MinimumBackgroundListener
* Disposing IDisposable streams in UpdateManager.DownloadPackage
* Fix hint path for react-native-windows .csproj
* Update project.json to 5.2.2 to match latest ReactWindows project.
* Upgrading Newtonsoft.Json to match latest in ReactWindows.