Squashed 'apptentive-ios/' changes from 7ce2d7d..494242a

575b54d Updating changelog.
ba48639 Fixing build warning on release builds.
de1d4e3 Better error handling around unarchiving keyed archives.
dfe92d5 Merge branch 'Next' of github.com:apptentive/apptentive-ios into Next
7f4b608 Adding some more error handling around the task queue.
edf4106 Fixing build phase for genstrings to find strings which were missing from surveys.
aa8d4b3 Merge branch 'StaticLoading' into Next
926e86f Changing based on Peter's feedback.
8d6800a Fixing case where the display name is found in the inner loop but replaced with nil in the outer.
ffdbbce Fixing IOS-126 Long survey answers are truncated
4163681 Updating build number.
5bd3773 Merge branch 'feature/set-rated' of git://github.com/kevinvanderlugt/apptentive-ios into kevinvanderlugt-feature/set-rated2
2e49448 Fixup for pull request #39.
aadcb69 Merge branch 'kevinvanderlugt-feature/set-appname' into Next
fd918fd Merge branch 'feature/set-appname' of git://github.com/kevinvanderlugt/apptentive-ios into kevinvanderlugt-feature/set-appname
1f49821 Merge branch 'master' into Next
bdfe4e4 Making custom toolbar resize the title better to fit longer titles, such as with Japanese.
bab8e83 Adding localizations.
db57fce Merge branch 'master' into StaticLoading
3c5aef8 Fixes IOS-124 Surveys with tags shouldn't show up in bare surveys calls
e3d95bf Moving declaration outside of the #if so that it can be set on OSX builds also
f2d0e75 Setting the appRated flag to NO when the user is presented with an error message, this will allow another chance to rate the app
f7d56a4 Updating changelog with latest fix info.
2b548ff Oops. Had files in a different directory…
e7c7063 Adding logging of task queue to debug log.
4a6e4ee IOS-108 Fix for launches not being detected after IOS-76 changes
7d47ce8 Merge commit '92299ffcaca41e285fcd091760c3418dfbd823ef' into Next
92299ff Fixing up indentation.
e27c149 Merge commit '2d97fd941bc6f3eac711c9c4256a830fd1fb9f25' into Next
af6da8d Making unit tests pass again.
2d97fd9 Fixing analyzer warnings in Xcode 4.6.1
4344c76 Merge of some changes from MC branch.
a10d56a Adding the ability to set the application display name in the AppRatingFlow
5b55dfb Only display nag warnings once per launch.
429b9ef The last commit broke the code for non-modal view controllers. This handles that and has code for iOS 4, though it's untested.
beb2e26 Fixing typo which prevented IOS-62 (Add support for repeat surveys) from working.
46f3e8b Fixing IOS-99 Add Callback after a user agrees to rate the app
ca7c82b IOS-62 Add support for repeat surveys
1d8cf60 Fixing: IOS-85, IOS-84 IOS-85 Setting days before re-prompt to 0 doesn't work as expected IOS-84 Re-prompt only once per version
40debc0 Fixing IOS-92 Demo app should show a message when the API key is not set
dee05ad Limiting concurrent connections to 2. Also fixing issue with moving to dispatch_once.
602738d IOS-105 Add Russian Localization
26eae78 Switching from @synchronized to dispatch_once where applicable.
ec6c06b Finishing up survey tags support.
228bbd0 Practicing what I preach.
83b5b7f Merge branch 'master' into Next
eb788cd Updating changelog.
d84d23a Merge branch 'master' of github.com:wooster/apptentive-ios
fcca9d7 Adding StoreKit to unit tests.
e7098bd Update README.md
8de0f82 Update README.md
f7142a0 Update README.md
1fe3d8e Adding CLA info.
6f97f15 Fixes IOS-88 Send CP suffix on client version for cocoa pod versions
c0807d2 Fixes IOS-97 Sending file attachments is writing files to disk a lot
d752de4 Bumping version of feedback demo.
456631a Adding apptentive connect version footer.
6b14811 Fixing header problem in xcodeproj file.
aa590d1 Updating changelog and screenshots.
fed0608 Updating project with Xcode 4.6 settings.
a04f933 Fixing IOS-94 Right side of feedback UI doesn't work on iPhone app running on iPad
51d5857 Fixing IOS-96 Text cut off in screenshot view in landscape
38f3328 Updating changelog.
ec3b233 Merge commit '233f0958ca329e6b7caeb5845fba90fec8817068'
233f095 Fix for build warnings on Xcode 4.6.
f385adb Fix for IOS-86 Always dismiss keyboard on feedback dialog going away
30fd488 Removing obsolete references to armv6.
4a78620 Merging change from @kgn's branch.
528ca64 Fix for IOS-83 Distribution build script phase is buggy and runs even when not necessary
925ba72 Merge branch 'Next' of github.com:wooster/apptentive-ios into Next
9cbb595 Merge branch 'master' of github.com:wooster/apptentive-ios
a1c329a Fixing IOS-89 Need API to dismiss view controller
1406d40 Fixing a memory leak due to setup being called multiple times.
6bb6b75 Merge branch 'master' into DismissFeedback
422902f Merge branch 'master' of github.com:wooster/apptentive-ios
c7a4ff6 Removing obsolete references to a network activity indicator.
a6b01ba Updating changelog with fixes already in project.
2ce1bb1 Starting.
db18f41 Moving StoreKit framework to the right spot.
54f564c Merge branch 'master' of github.com:wooster/apptentive-ios
9d27cb6 Fix for IOS-86 Always dismiss keyboard on feedback dialog going away
895981c Merge branch 'master' of github.com:wooster/apptentive-ios
273cf76 Forcing the static library to load all the symbols without -ObjC or -all_load.
b20750f Work on multiple surveys, survey caching, etc.
41dc51e Merging change from @kgn's branch.
3087a45 Merge commit '87e22fefb18273659ad96aef751a51a31652b074'
1d449d0 Fixing compatibility bug with OS X.
d7fb4b4 Merge commit '6e94717c04ac5733d09eb87609df1bb2103df40e'
a1c3158 Fixing OSX-9 Should call setRatingDialogWasShown even when user quits app
5b254f2 Fix for IOS-83 Distribution build script phase is buggy and runs even when not necessary
87e22fe Initial fix for IOS-76 Update launch logic for iOS 4 API
c5ea801 Fix for IOS-15 Privacy information on info screen
0b7f740 Fix for IOS-72 Find out more button doesn't work in iOS 6
f668353 Fixes IOS-28 Show success message on survey completion when configured
a832c0d Fixes IOS-80 Use StoreKit to show product page when reviewing app
479b101 Merge branch 'master' of github.com:wooster/apptentive-ios
fc48a7d Merge commit '6e94717c04ac5733d09eb87609df1bb2103df40e'
3a77ce8 Version 0.4.8 for OS X.
2256564 Fixing bug wherein extra data was not added to Feedback on OS X.
91a7ffc Bumping version.
6e94717 Cleaning up more references to iOS 3.x.
0fcc882 Updating changelog.
7348f37 Updating Xcode settings.
cf47565 Updating changelog.
364364d Removing armv6 and adding armv7s to Distribution target.
92344c8 Merge branch 'master' of git://github.com/Coradine/apptentive-ios into Coradine-master
27fd0fd Bumping FeedbackDemo version.
81fc56c Updated to support iPhone 5 (armv7s)
565e268 Changes for IOS-39 No option to cancel a photo/screenshot attachment?
9cef277 Fixing memory leak introduced by surveys changes.
f1e5712 Better redirect handling in URL loading.
a6e4a42 Better cache policy handling in URL loading.
89294b1 Updating changelog.
26f2d40 Fixes IOS-79 Allow dev to prompt user to re-rate after new version installed
54be440 Fix for IOS-78 Always send dates in english
6bac843 Fix for surveys change.
c2f4dcc Adding ability to remove tagline.
5e416e9 Fixes IOS-71 Add callback after survey completion
13b44e1 Merge branch 'master' of github.com:wooster/apptentive-ios
03387a6 library -> binary
02b012e Removing unnecessary prefixing.
6fb832b Removing some unnecessary prefixes.
c8696d9 Documenting how to set the prefix.
2ddd17b First cut at prefixing JSONKit.
d43649e Merge branch 'master' of github.com:wooster/apptentive-ios
96fb875 v0.4.2 rc2
8215763 Add a `#ifdef` to silence a `clang` static analyzer false positive warning.
5663f2d Silences some warnings that newer versions of the compiler(s) complain about.
02b983f Minor changes to hashing and cache aging algorithms.
0aff3de Merge branch 'master' of github.com:johnezang/JSONKit
2388b6f Updated README.md with benchmark information for NSJSONSerialization.
e3f9017 Merge pull request #58 from samsoffes/master
395ab9a Changed cast to NSDictionary per John's request
c494f8d Surpress "multiple methods named" error I realize that `collection` won't always be an NSArray, but the cast will let the compiler know to expect a NSUInteger return type instead of `size_t` which is also a return type a method named `count` inside of JSONKit.
c2ef692 Fixes issues #9, #15, #40, aka "crashes on 64-bit Lion / 10.7 ABI".
660546f Merge pull request #46 from jparise/cache-collisions
6d3938e Merge pull request #50 from atnan/fixclang2errors
3624e0f Fix ambiguous method (initWithObjects:count:) compilation errors under Clang 3.0.
c34c374 Use memcmp() instead of strncmp() to compare cache buckets.
c2146ff Added note about Automatic Reference Counting (ARC) to README.md and some preprocessor-foo to JSONKit.m to check if JSONKit is being compiled with ARC / `-fobjc-arc` and #error if it is.
4656c2d Minor tweak to the minor tweak.
601588e Minor tweak.
ac07028 Added "JKSerializeOptionEscapeForwardSlashes".  Changed a number of <table> constructions to the easier Markdown extra tables to see if the new github markdown processor accepts them.  Also changed some <pre> items to ```objective-c / ``` fenced code style.
df39818 Fixes issue gh-29, license descrepency between README.md and JSONKit.[hm].
2efa7e6 Fix typo.
cab1ea8 Moved the +load logic from JSONDecoder in to jk_collectionClassLoadTimeInitialization().  Missed the JSONDecoder +load stuff on the last commit.  Related to issue #23.
353b124 Added cocoanetics JSON comparison.
f403357 Workarounds for issue #19 (the clang stuff) and issue #23.  For issue #23, the code in the collection classes `+load` was removed and placed in a function with the `__attribute__ ((constructor))` attribute.  This is to work around an apparent bug when building JSONKit as a static library for iOS targets.  @ohhorob also opened a bug with apple- # 9461567.
7e4d3ec Merge pull request #22 from jordanbreeding/master
0ef031d Pacify Xcode 4.1.
b8359c6 Adds a serializing option to backslash escape forward slashes.  This is for issue #21.
e1cb174 Change a NSException from exceptionWithName: to raise:.  Closes #20.
862fa4d Fixes a bug when removing items from a JKDictionary.  Since JKDictionary is implemented using a hash table that uses linear probing, the removal function needs to "re-add" items that follow the removed item so that linear probe hash collisions are not "lost".  Closes #17
2e6ccf4 When commiting the fix for hash % dictionary->capacity, some local, in progress edits made it in to the commit.  This change backs them out.
18a0a3a Fixes a bug when trying to retrieve a key from a dictionary that contains no items (div by zero: (keyHash % dictionary->capacity))
635005b Removed a comment line that got duplicated somehow when updating the license information.
3c6ff50 Modified the JSONKit so that it is dual licensed under either the BSD or Apache v2.0 license. This was motivated by the discussion at https://github.com/facebook/three20/pull/465
1b123b6 More github markdown parsing hackery to CHANGELOG.md...
f8877a5 More github markdown parsing hackery to CHANGELOG.md...
8bdc6bf More github markdown parsing hackery to CHANGELOG.md...
3da8086 Try to clean up githubs markdown parsing of *s in <pre> blocks...  missed a few from the last round
0395bf9 Try to clean up githubs markdown parsing of *s in <pre> blocks...
e06349e Update CHANGELOG.md and include an example of the new unsupported class formatting feature.
daf18f3 Two major changes and one minor change in this commit.
9993011 Record a few more things in the changelog for v1.4.
8d0cb58 This commit includes the "Serialize a single NSString" feature/pull request from issue #4 and issue #11.  Also replaces jk_encode() function with the JKSerializer class.  This is a forward looking change as placing the state in to an autoreleased object that does serializing means that we can always make sure that any resources we might have allocated will get released, no matter what.  This could be a problem, for example, if something throws an exception while we are serializing.
2cf72ad Fix a couple of potential memory leaks in extremely unlikely and rare circumstances.  Modify the primary parsing initial token matcher to use a if/else if/else if structure instead of switch()/case and organize the if statements to occur in the order they are statistically likely to appear in JSON for a performance win.  Also make a minor README.md tweak.
c01ba7e Minor tidies.
d45a4cc Misc documentation updates.
ff46986 Catch a few additional NSInvalidArgument exception cases that the Ccoca collection classes catch.
e414e1f Minor change to the method swizzling functions.  It doesn't make a difference in the way we use it, but this corrects it so that it is more 'correct'.
1a8a0b8 Changed the way jk_encode_write1 is handled so that the optimizer is able to do a better job.  Also modified jk_encode_printf to fix a potential bug wrt/ va_end, and used a va_copy() to make a copy of the varArgs.  This is needed if the first vsnprintf overruns the buffer and we need to call it again, the first call may leave the passed varArgs in a state that is unusable by the next call- hence we make a va_copy and use the copy on the second call.  Also did some tidies on various jk_encode_write|print functions.
f3ed599 Update README.md with additional information and bring it up to date with the 1.4 changes.
f520db7 Adds support for JKSerializeOptionPretty.  Silences a clang analyzer warning.
7054853 Additional assertion checks wrt/ issue #9.  Issue #9 looks like it could be a stack smash?  The assertion checks make sure we're only copying legal values and not writing past a buffer by accident.
524b9d7 Fixes a bug.  See issue #8.
d8e8bc0 Update README with info in the experimental branch.
5e53b21 Added benchmarking graphs of JSONKit v1.4 performance.
b243e08 Significantly improve writing/serializing performance by caching the offset in the buffer for the last conversion for an object.
33f8aea JSONKit v1.4 can now return mutable collection objects.  See the CHANGELOG.md for more info.
0d5ea3f Update CHANGELOG.md to refelct the latest changes.
b58e082 Some changes to the way cache aging is handled that improves L1 cache locality.  Changes some of the convience functions so that they leave as little autorelease pending allocations hanging around as possible to minimize our memory footprint.
e58f2a6 Initial push of JSONKit v1.4.  May not be the final v1.4 commit.  See CHANGELOG.md for info.  The biggest news is JSONKit is anywhere from 30% to 60% faster than JSONKit v1.3 for reading / parsing JSON!
b612564 Fixed a bug wrt/ not correctly handling < 0x20 characters in strings when the slow string parsing path was active.
1cb8d61 Fixes a bug in parsing unicode strings with high surrogates.  Changed some illegal unicode escapes such that JKParseOptionLooseUnicode was honored.  Modified the way floating point values are serialized: previously, the printf format conversion '%.16g' was used, changed to '%.17g' which should theoretically allow for up to a full 'float' (aka single precision) of precision when converting to decimal representation.
762cfc5 Version 1.3.  See CHANGELOG.md for details.
309c873 Changed the hash function for numbers to the generic standard hash function.  The (now removed) hash function for numbers was originally put in place during the initial development of JSONKit in an attempt to avoid hash collisions and table probe / accelerated cache ageing due to similar hashes.  This problem was fixed using a different technique, but the old hash function remained for some reason.  Although it depends heavily on the JSON being parsed, this change can result in a 2-6% increase in parsing speed.
14d2c89 Add backticks around NULL.
8339b27 Fixed a serious crashing bug.  Fixed a memory leak.  Fixed an off by one error.  Updated the README.md file.  Added CHANGELOG.md
c9ffd8f Fixed a memory leak when the JSON being parsed contained associative arrays where the same key appeared more than once.  Also hacked around the CFNumber limitation where CFNumbers only have a signed type for numbers and do not have an explicity unsigned type.  Switched the README to README.md.
abd480e Improve the performance of NSNumber serialization, add a few more convenience methods, plus a few other bits and pieces.
5b8038c Encode / writer bug fixes and new features.
02eab22 Add initial encode / writer support.
8f6ca7e Initial check in.
ad39667 first commit

git-subtree-dir: apptentive-ios
git-subtree-split: 494242ab8e75c48c2a32b6b3b45371c0a368c34e
Merge commit '591a32d1973b50a1fbbd106b0b3cd48e4af813c7'

Conflicts:
	apptentive-ios/ApptentiveConnect/source/ATConnect.h
Updating source to 0.4.9.