ios/iosremote/TestFlightSDK1.2.6/README.md        |  223 +++++++++++++++++++
 ios/iosremote/TestFlightSDK1.2.6/TestFlight.h     |  114 ++++++++++
 ios/iosremote/TestFlightSDK1.2.6/libTestFlight.a  |binary
 ios/iosremote/TestFlightSDK1.2.6/release_notes.md |  249 ++++++++++++++++++++++
 ios/iosremote/iosremote.xcodeproj/project.pbxproj |   36 +++
 ios/iosremote/iosremote/AppDelegate.m             |    2 
 ios/iosremote/iosremote/Communication/Client.m    |    2 
 ios/iosremote/iosremote/iosremote-Prefix.pch      |    1 
 8 files changed, 626 insertions(+), 1 deletion(-)

New commits:
commit a8e8d46020702c64ff314adbe87e6f21e73e1999
Author: siqi <m...@siqi.fr>
Date:   Mon Jul 15 13:23:07 2013 +0200

    TestFlight integration

diff --git a/ios/iosremote/TestFlightSDK1.2.6/README.md 
b/ios/iosremote/TestFlightSDK1.2.6/README.md
new file mode 100644
index 0000000..e8e02159
--- /dev/null
+++ b/ios/iosremote/TestFlightSDK1.2.6/README.md
@@ -0,0 +1,223 @@
+##Introduction
+
+The TestFlight SDK allows you to track how beta testers are testing your 
application. Out of the box we track simple usage information, such as which 
tester is using your application, their device model/OS, how long they used the 
application, logs of their test session, and automatic recording of any crashes 
they encounter.
+
+To get the most out of the SDK we have provided the Checkpoint API.
+
+The Checkpoint API is used to help you track exactly how your testers are 
using your application. Curious about which users passed level 5 in your game, 
or posted their high score to Twitter, or found that obscure feature? With a 
single line of code you can finally gather all this information. Wondering how 
many times your app has crashed? Wondering who your power testers are? We've 
got you covered. See more information on the Checkpoint API in section 4.
+
+Alongside the Checkpoint API is the Questions interface. The Questions 
interface is managed on a per build basis on the TestFlight website. Find out 
more about the Questions Interface in section 6.
+
+For more detailed debugging we have a remote logging solution. Find out more 
about our logging system with TFLog in the Remote Logging section.
+
+
+##Considerations
+       
+Information gathered by the SDK is sent to the website in real time. When an 
application is put into the background (iOS 4.x) or terminated (iOS 3.x) we try 
to send the finalizing information for the session during the time allowed for 
finalizing the application. Should all of the data not get sent the remaining 
data will be sent the next time the application is launched. As such, to get 
the most out of the SDK we recommend your application support iOS 4.0 and 
higher.
+
+This SDK can be run from both the iPhone Simulator and Device and has been 
tested using Xcode 4.0.
+
+The AdSupport.framework is required for iOS 6.0+ in order to estimate the 
number of unique users your app has. You may weak link the framework in you 
app. If your app does not link with the AdSupport.framework, the TestFlight SDK 
will automatically load it for apps running on iOS 6.0+.
+
+                
+##Integration
+
+1. Add the files to your project: File -&gt; Add Files to " "
+    1. Find and select the folder that contains the SDK
+    2. Make sure that "Copy items into destination folder (if needed)" is 
checked
+    3. Set Folders to "Create groups for any added folders"
+    4. Select all targets that you want to add the SDK to
+2. Verify that libTestFlight.a has been added to the Link Binary With 
Libraries Build Phase for the targets you want to use the SDK with     
+    1. Select your Project in the Project Navigator
+    2. Select the target you want to enable the SDK for
+    3. Select the Build Phases tab
+    4. Open the Link Binary With Libraries Phase
+    5. If libTestFlight.a is not listed, drag and drop the library from your 
Project Navigator to the Link Binary With Libraries area
+    6. Repeat Steps 2 - 5 until all targets you want to use the SDK with have 
the SDK linked
+3. Add libz to your Link Binary With Libraries Build Phase
+    1. Select your Project in the Project Navigator
+    2. Select the target you want to enable the SDK for
+    3. Select the Build Phases tab
+    4. Open the Link Binary With Libraries Phase
+    5. Click the + to add a new library
+    6. Find libz.dylib in the list and add it
+    7. Repeat Steps 2 - 6 until all targets you want to use the SDK with have 
libz.dylib
+    
+4. In your Application Delegate:
+    1. Import TestFlight: `#import "TestFlight.h"`                      
+
+        ***NOTE:*** Rather than importing `TestFlight.h` in every file you may 
add the above line into you pre-compiled header (`<projectname>_Prefix.pch`) 
file inside of the
+
+
+            #ifdef __OBJC__ 
+
+
+        section. This will give you access to the SDK across all files.
+
+    2. Get your Application Token which you can find at 
[http://testflightapp.com/dashboard/applications/](http://testflightapp.com/dashboard/applications/)
 select the application you are using from the list choose the SDK option and 
the application token for this application will be there. To ensure that your 
testers do not show up as anonymous place the call to setDeviceIdentifer before 
calling takeOff. Remove #define TESTING 1 before building your release build 
for the App Store.
+
+    3. Launch TestFlight with your Application Token
+
+            -(BOOL)application:(UIApplication *)application 
+                didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+            // start of your application:didFinishLaunchingWithOptions 
+
+            // !!!: Use the next line only during beta
+            // [TestFlight setDeviceIdentifier:[[UIDevice currentDevice] 
uniqueIdentifier]];
+            
+            [TestFlight takeOff:@"Insert your Application Token here"];
+            // The rest of your application:didFinishLaunchingWithOptions 
method
+            // ...
+            }
+
+    4. To report crashes to you we install our own uncaught exception handler. 
If you are not currently using an exception handler of your own then all you 
need to do is go to the next step. If you currently use an Exception Handler, 
or you use another framework that does please go to the section on advanced 
exception handling.
+
+
+##Beta Testing and Release Differentiation
+
+In order to provide more information about your testers while beta testing you 
will need to provide the device's unique identifier. This identifier is not 
something that the SDK will collect from the device and we do not recommend 
using this in production. To send the device identifier to us put the following 
code **before your call to takeOff**.
+
+    [TestFlight setDeviceIdentifier:[[UIDevice currentDevice] 
uniqueIdentifier]];
+    [TestFlight takeOff:@"Insert your Application Token here"];
+
+This will allow you to have the best possible information during testing. 
**When it is time to submit to the App Store comment this line out**. Apple may 
reject your app if you leave this line in. If you decide to not include the 
device's unique identifier during your testing phase TestFlight will still 
collect all of the information that you send but it may be anonymized.
+
+    
+##Checkpoint API
+
+When a tester does something you care about in your app you can pass a 
checkpoint. For example completing a level, adding a todo item, etc. The 
checkpoint progress is used to provide insight into how your testers are 
testing your apps. The passed checkpoints are also attached to crashes, which 
can help when creating steps to replicate.
+
+`[TestFlight passCheckpoint:@"CHECKPOINT_NAME"];` Use `passCheckpoint:` to 
track when a user performs certain tasks in your application. This can be 
useful for making sure testers are hitting all parts of your application, as 
well as tracking which testers are being thorough.
+
+##Feedback API
+                
+To launch unguided feedback call the openFeedbackView method. We recommend 
that you call this from a GUI element.
+
+    -(IBAction)launchFeedback {
+        [TestFlight openFeedbackView];
+    }
+
+If you want to create your own feedback form you can use the 
submitCustomFeedback method to submit the feedback that the user has entered.
+
+    -(IBAction)submitFeedbackPressed:(id)sender {
+        NSString *feedback = [self getUserFeedback];
+        [TestFlight submitFeedback:feedback];
+    }
+
+The above sample assumes that [self getUserFeedback] is implemented such that 
it obtains the users feedback from the GUI element you have created and that 
submitFeedbackPressed is the action for your submit button.
+
+Once users have submitted feedback from inside of the application you can view 
it in the feedback area of your build page.
+
+
+##Upload your build
+    
+After you have integrated the SDK into your application you need to upload 
your build to TestFlight. You can upload from your dashboard or or using the 
Upload API, full documentation at 
[https://testflightapp.com/api/doc/](https://testflightapp.com/api/doc/)
+
+##Questions Interface
+
+In order to ask a question, you'll need to associate it with a checkpoint. 
Make sure your checkpoints are initialized by running your app and hitting them 
all yourself before you start adding questions.
+
+There are three question types available: Yes/No, Multiple Choice, and Long 
Answer.
+
+To create questions, visit your builds Questions page and click on 'Add 
Question'. If you choose Multiple Choice, you'll need to enter a list of 
possible answers for your testers to choose from — otherwise, you'll only 
need to enter your question's, well, question. If your build has no questions, 
you can also choose to migrate questions from another build (because seriously 
— who wants to do all that typing again)?
+
+After restarting your application on an approved device, when you pass the 
checkpoint associated with your questions a TestFlight modal question form will 
appear on the screen asking the beta tester to answer your question.
+
+After you upload a new build to TestFlight you will need to associate 
questions once again. However if your checkpoints and questions have remained 
the same you can choose "copy questions from an older build" and choose which 
build to copy the questions from.
+
+##View the results
+                
+As testers install your build and start to test it you will see their session 
data on the web on the build report page for the build you've uploaded.
+
+##Advanced Exception Handling
+
+An uncaught exception means that your application is in an unknown state and 
there is not much that you can do but try and exit gracefully. Our SDK does its 
best to get the data we collect in this situation to you while it is crashing, 
but it is designed in such a way that the important act of saving the data 
occurs in as safe way a way as possible before trying to send anything. If you 
do use uncaught exception or signal handlers install your handlers before 
calling `takeOff`. Our SDK will then call your handler while ours is running. 
For example:
+
+      /*
+       My Apps Custom uncaught exception catcher, we do special stuff here, 
and TestFlight takes care of the rest
+      */
+      void HandleExceptions(NSException *exception) {
+        NSLog(@"This is where we save the application data during a 
exception");
+        // Save application data on crash
+      }
+      /*
+       My Apps Custom signal catcher, we do special stuff here, and TestFlight 
takes care of the rest
+      */
+      void SignalHandler(int sig) {
+        NSLog(@"This is where we save the application data during a signal");
+        // Save application data on crash
+      }
+
+      -(BOOL)application:(UIApplication *)application 
+      didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
+        // installs HandleExceptions as the Uncaught Exception Handler
+        NSSetUncaughtExceptionHandler(&HandleExceptions);
+        // create the signal action structure 
+        struct sigaction newSignalAction;
+        // initialize the signal action structure
+        memset(&newSignalAction, 0, sizeof(newSignalAction));
+        // set SignalHandler as the handler in the signal action structure
+        newSignalAction.sa_handler = &SignalHandler;
+        // set SignalHandler as the handlers for SIGABRT, SIGILL and SIGBUS
+        sigaction(SIGABRT, &newSignalAction, NULL);
+        sigaction(SIGILL, &newSignalAction, NULL);
+        sigaction(SIGBUS, &newSignalAction, NULL);
+        // Call takeOff after install your own unhandled exception and signal 
handlers
+        [TestFlight takeOff:@"Insert your Application Token here"];
+        // continue with your application initialization
+      }
+
+You do not need to add the above code if your application does not use 
exception handling already.
+
+##Remote Logging
+       
+To perform remote logging you can use the TFLog method which logs in a few 
different methods described below. In order to make the transition from NSLog 
to TFLog easy we have used the same method signature for TFLog as NSLog. You 
can easily switch over to TFLog by adding the following macro to your header
+
+    #define NSLog TFLog
+
+That will do a switch from NSLog to TFLog, if you want more information, such 
as file name and line number you can use a macro like
+
+    #define NSLog(__FORMAT__, ...) TFLog((@"%s [Line %d] " __FORMAT__), 
__PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
+
+Which will produce output that looks like
+
+    -[HTFCheckpointsController showYesNoQuestion:] [Line 45] Pressed YES/NO
+
+We have implemented three different loggers.
+
+    1. TestFlight logger
+    2. Apple System Log logger
+    3. STDERR logger
+
+Each of the loggers log asynchronously and all TFLog calls are non blocking. 
The TestFlight logger writes its data to a file which is then sent to our 
servers on Session End events. The Apple System Logger sends its messages to 
the Apple System Log and are viewable using the Organizer in Xcode when the 
device is attached to your computer. The ASL logger can be disabled by turning 
it off in your TestFlight options
+
+    [TestFlight setOptions:{ TFOptionLogToConsole : @NO }];
+
+The default option is YES.
+
+The STDERR logger sends log messages to STDERR so that you can see your log 
statements while debugging. The STDERR logger is only active when a debugger is 
attached to your application. If you do not wish to use the STDERR logger you 
can disable it by turning it off in your TestFlight options
+
+    [TestFlight setOptions:{ TFOptionLogToSTDERR : @NO }];
+
+The default option is YES.
+
+## Advanced Remote Logging
+
+For most users we expect using TFLog to provide all of the logging 
functionality that they need. For the occasion where you need to provide a 
wrapper around TFLog we provide 
+
+    void TFLogv(NSString *format, va_list arg_list);
+
+Using TFLogv you can have your method that accepts a variable number of 
arguments that then passes that format and argument list to TFLog.
+
+
+##iOS3
+        
+We now require that anyone who is writing an application that supports iOS3 
add the System.framework as an optional link. In order to provide a better 
shutdown experience we send any large log files to our servers in the 
background. To add System.framework as an optional link: 
+    
+1. Select your Project in the Project Navigator 
+2. Select the target you want to enable the SDK for 
+3. Select the Build Phases tab 
+4. Open the Link Binary With Libraries Phase 
+5. Click the + to add a new library 
+6. Find libSystem.dylib in the list and add it 
+7. To the right of libSystem.dylib in the Link Binary With Libraries pane 
change "Required" to "Optional"
diff --git a/ios/iosremote/TestFlightSDK1.2.6/TestFlight.h 
b/ios/iosremote/TestFlightSDK1.2.6/TestFlight.h
new file mode 100644
index 0000000..0d1b27a
--- /dev/null
+++ b/ios/iosremote/TestFlightSDK1.2.6/TestFlight.h
@@ -0,0 +1,114 @@
+//
+//  TestFlight.h
+//  libTestFlight
+//
+//  Created by Jonathan Janzen on 06/11/11.
+//  Copyright 2011 TestFlight. All rights reserved.
+
+#import <Foundation/Foundation.h>
+#define TESTFLIGHT_SDK_VERSION @"1.2.6"
+#undef TFLog
+
+#if __cplusplus
+extern "C" { 
+#endif
+    void TFLog(NSString *format, ...);
+    void TFLogv(NSString *format, va_list arg_list);
+#if __cplusplus
+}
+#endif
+
+/**
+ * TestFlight object
+ * All methods are class level
+ */
+@interface TestFlight : NSObject {
+
+}
+
+/**
+ * Add custom environment information
+ * If you want to track custom information such as a user name from your 
application you can add it here
+ * 
+ * @param information A string containing the environment you are storing
+ * @param key The key to store the information with
+ */
++ (void)addCustomEnvironmentInformation:(NSString *)information 
forKey:(NSString*)key;
+
+
+/**
+ * Starts a TestFlight session using the Application Token for this Application
+ *
+ * @param applicationToken Will be the application token for the current 
application.
+ *                         The token for this application can be retrieved by 
going to https://testflightapp.com/dashboard/applications/
+ *                         selecting this application from the list then 
selecting SDK.
+ */
+
++ (void)takeOff:(NSString *)applicationToken;
+
+/**
+ * Sets custom options
+ *
+ * @param options NSDictionary containing the options you want to set. 
Available options are described below at "TestFlight Option Keys"
+ *
+ */
++ (void)setOptions:(NSDictionary*)options;
+
+/**
+ * Track when a user has passed a checkpoint after the flight has taken off. 
Eg. passed level 1, posted high score
+ *
+ * @param checkpointName The name of the checkpoint, this should be a static 
string
+ */
++ (void)passCheckpoint:(NSString *)checkpointName;
+
+/**
+ * Opens a feedback window that is not attached to a checkpoint
+ */
++ (void)openFeedbackView;
+
+/**
+ * Submits custom feedback to the site. Sends the data in feedback to the 
site. This is to be used as the method to submit
+ * feedback from custom feedback forms.
+ *
+ * @param feedback Your users feedback, method does nothing if feedback is nil
+ */
++ (void)submitFeedback:(NSString*)feedback;
+
+/**
+ * Sets the Device Identifier.
+ *
+ * !! DO NOT CALL IN SUBMITTED APP STORE APP.
+ *
+ * !! MUST BE CALLED BEFORE +takeOff:
+ *
+ * This method should only be used during testing so that you can identify a 
testers test data with them.
+ * If you do not provide the identifier you will still see all session data, 
with checkpoints
+ * and logs, but the data will be anonymized.
+ * 
+ * It is recommended that you only use this method during testing.
+ * Apple may reject your app if left in a submitted app.
+ *
+ * Use:
+ * Only use this with the Apple device UDID. DO NOT use Open ID or your own 
identifier.
+ * [TestFlight setDeviceIdentifier:[[UIDevice currentDevice] 
uniqueIdentifier]];
+ *
+ * @param deviceIdentifer The current devices device identifier
+ */
++ (void)setDeviceIdentifier:(NSString*)deviceIdentifer;
+
+@end
+
+
+/**
+ * TestFlight Option Keys
+ *
+ * Pass these as keys to the dictionary you pass to +`[TestFlight 
setOptions:]`.
+ * The values should be NSNumber BOOLs (`[NSNumber numberWithBool:YES]` or 
`@YES`)
+ */
+extern NSString *const TFOptionAttachBacktraceToFeedback; // Defaults to @NO. 
Setting to @YES attaches the current backtrace, with symbols, to the feedback.
+extern NSString *const TFOptionDisableInAppUpdates; // Defaults to @NO. 
Setting to @YES, disables the in app update screen shown in BETA apps when 
there is a new version available on TestFlight.
+extern NSString *const TFOptionLogToConsole; // Defaults to @YES. Prints 
remote logs to Apple System Log.
+extern NSString *const TFOptionLogToSTDERR; // Defaults to @YES. Sends remote 
logs to STDERR when debugger is attached.
+extern NSString *const TFOptionReinstallCrashHandlers; // If set to @YES: 
Reinstalls crash handlers, to be used if a third party library installs crash 
handlers overtop of the TestFlight Crash Handlers.
+extern NSString *const TFOptionSendLogOnlyOnCrash; // Defaults to @NO. Setting 
to @YES stops remote logs from being sent when sessions end. They would only be 
sent in the event of a crash.
+
diff --git a/ios/iosremote/TestFlightSDK1.2.6/libTestFlight.a 
b/ios/iosremote/TestFlightSDK1.2.6/libTestFlight.a
new file mode 100644
index 0000000..bc045a9
Binary files /dev/null and b/ios/iosremote/TestFlightSDK1.2.6/libTestFlight.a 
differ
diff --git a/ios/iosremote/TestFlightSDK1.2.6/release_notes.md 
b/ios/iosremote/TestFlightSDK1.2.6/release_notes.md
new file mode 100644
index 0000000..feb8fa8
--- /dev/null
+++ b/ios/iosremote/TestFlightSDK1.2.6/release_notes.md
@@ -0,0 +1,249 @@
+## 1.2.6 - June 11, 2013
+
+- Fixed a bug with crash reporting on iOS 7
+
+## 1.2.5 - May 1, 2013
+
+- Removed any access to mac address
+- Added AdSupport.framework requirement
+    - AdSupport.framework is automatically loaded on iOS 6.0+ if not weak 
linked with app
+
+## 1.2.4 - February 19, 2013
+
+- Fixed bug that caused crash reports to sometimes not send immediately (they 
would be resent later)
+
+## 1.2.3 - January 8, 2013
+
+- Fixed typos in readme
+- Fixed bug where logs not sent on crash
+- Fixed bug where empty crash files were created (but not sent)
+- Cache cache path
+- Use consts for `setOptions:`
+- Updated `setDeviceIdentifier:` comments to make them clearer
+- Remove potentially conflicting function name `UIColorFromRGB`
+- Fixed crash on bad in app update data
+
+## 1.2.2 - December 26, 2012
+
+- Fix typo in app token error message
+
+## 1.2.1 - December 26, 2012
+
+- The max number of concurrent network connections has been reduced from 4 to 
2.
+
+##1.2 - November 12, 2012
+
+* Removed Team Token support. As of version 1.2 takeOff must be called with 
the Application Token, https://testflightapp.com/dashboard/applications/, 
choose your application, select SDK, get the Token for this Application.
+
+##1.2 BETA 3 - October 11, 2012
+
+* Added application token support. Application Tokens are currently optional 
if you do not have one you do not need one
+
+##1.2 BETA 2 - October 9, 2012
+
+* Resolved an instance of close_file being called on a bad file descriptor
+
+##1.2 BETA 1 - October 1, 2012
+
+* Removed support for armv6
+* Exception handler now returns instead of raising a SIGTRAP
+
+##1.1 - September 13, 2012
+
+* armv7s and iOS 6 support
+* Updated for general release
+
+##1.1 BETA 3 - September 12, 2012
+
+* armv7s slice added to library
+* fixed typo for in application updates, inAppUdates changed to inAppUpdates
+
+##1.1 BETA 2 - September 6, 2012
+
+* Re-enabled armv6 support
+* Added option to disable in application updates
+
+##1.1 BETA 1 - July 13, 2012
+
+* Added TFLogv to allow for log customizations. Check the README or online 
docs for more information.
+* Added option attachBacktraceToFeedback, which attaches a backtrace to 
feedback sent from the SDK. For users who use feedback in more than one 
location in the application.
+* Resolved issue where other exception handlers would not be called during an 
exception.
+* SDK now sends the device language for a session.
+* Documentation fixes.
+* Stability fixes.
+
+###1.0 - March 29, 2012
+
+* Resolved occurrences of exceptions with the message "No background task 
exists with identifier 0"
+
+###1.0 BETA 1 - March 23, 2012
+
+* Privacy Updates
+* UDID is no longer collected by the SDK. During testing please use 
`[TestFlight setDeviceIdentifier:[[UIDevice currentDevice] uniqueIdentifier]];` 
to send the UDID so you can identify your testers. For release do not set 
`+setDeviceIdentifier`. See Beta Testing and Release Differentiation in the 
README or online at 
[https://testflightapp.com/sdk/doc/1.0beta1/](http://testflightapp.com/sdk/doc/1.0beta1/)
+
+###0.8.3 - February 14, 2012
+
+* Rolled previous beta code into release builds
+* No longer allow in application updates to occur in applications that were 
obtained from the app store.
+
+**Tested compiled library with:**
+
+* Xcode 4.3
+* Xcode 4.2
+* Xcode 4.1
+* Xcode 3.2.6
+
+###0.8.3 BETA 5 - February 10, 2012
+
+* Changed logging from asynchronous to synchronous.
+* Resolved crash when looking for a log path failed.
+* Added submitFeedback to the TestFlight class to allow for custom feedback 
forms.
+
+###0.8.3 BETA 4 - January 20, 2012
+
+* Resolved an issue that occured when an application was upgraded from 0.8.3 
BETA 1 to 0.8.3 BETA 3+ with unsent data from 0.8.3 BETA 1
+
+###0.8.3 BETA 3 - January 19, 2012
+
+* On crash log files over 64k will not be sent until next launch.
+
+**Known Issues:**
+
+* Logging massive amounts of data at the end of a session may prevent the 
application from launching in time on next launch
+
+###0.8.3 BETA 2 - January 13, 2012
+
+* libz.dylib is now required to be added to your "Link Binary with Libraries" 
build phase
+* Log file compression, The compression is done on an as needed basis rather 
than before sending
+* Changed all outgoing data from JSON to MessagePack
+* Added option `logToSTDERR` to disable the `STDERR` logger
+
+###0.8.3 BETA 1 - December 29, 2011
+
+* In rare occurrences old session data that had not been sent to our server 
may have been discarded or attached to the wrong build. It is now no longer 
discarded
+* Made sending of Session End events more robust
+* Network queuing system does better bursting of unsent data
+* Log files that are larger than 64K are now sent sometime after the next 
launch
+* Log files that are larger than 16MB are no longer supported and will be 
replaced with a message indicating the log file was too large
+* Fixed crashes while resuming from background
+
+###0.8.2 - December 20, 2011
+
+* Promoted 0.8.2 BETA 4 to stable
+
+**Known Issues:**
+
+* Under some circumstances Session End events may not be sent until the next 
launch.
+* With large log files Session End events may take a long time to show up.
+
+**Tested compiled library with:**
+
+* Xcode 4.3
+* Xcode 4.2
+* Xcode 4.1
+* Xcode 3.2.6
+
+###0.8.2 BETA 4 - December 12, 2011
+
+* Prevented "The string argument is NULL" from occuring during 
finishedHandshake in rare cases
+* Resolved issue where data recorded while offline may not be sent
+
+###0.8.2 BETA 3 - December 8, 2011
+
+* Added auto-release pools to background setup and tear down
+
+###0.8.2 BETA 2 - December 5, 2011
+
+* Fixed the "pointer being freed was not allocated" bug
+
+###0.8.1 - November 18, 2011
+
+* Implemented TFLog logging system, see README for more information
+* Fixed an issue where Session End events may not be sent until next launch
+* Fixed an issue where duplicate events could be sent
+* Fixed an issue with Session End events not being sent from some iPod touch 
models
+
+**Tested compiled library with:**
+
+* Xcode 4.2
+* Xcode 4.1
+* Xcode 3.2.6
+
+###0.8 - November 8, 2011
+
+* Added `SIGTRAP` as a signal type that we catch
+* Removed all Objective-c from crash reporting
+* Removed the use of non signal safe functions from signal handling
+* Created a signal safe way to get symbols from a stack trace
+* Changed the keyboardType for Long Answer Questions and Feedback to allow for 
international character input
+* Changed `TESTFLIGHT_SDK_VERSION` string to be an `NSString`
+* Changed cache folder from Library/Caches/TestFlight to 
Library/Caches/com.testflight.testflightsdk
+* Fixed issue with saving data when device is offline
+* Fixed compability issues with iOS 3
+* Added calling into the rootViewController 
shouldAutorotateToInterfaceOrientation if a rootViewController is set
+* Made the comments in TestFlight.h compatible with Appledoc
+
+Tested compiled library with:
+
+* Xcode 4.2
+* Xcode 4.1
+* Xcode 3.2
+
+###0.7.2 - September 29, 2011
+
+* Changed `TESTFLIGHT_SDK_VERSION` string to be an `NSString`
+* Fixed an issue where exiting an application while the SDK is active caused 
modal views to be dismissed
+
+###0.7.1 - September 22, 2011
+
+* Internal release
+* Refactoring
+
+###0.7 - September 21, 2011
+
+* Moved TestFlight images and data to the Library/Caches folder
+* Resolved an issue where sometimes the rootViewController could not be found 
and feedback, questions and upgrade views would not be displayed
+* In application upgrade changed to allow skipping until the next version is 
installed and allows upgrades to be forced
+* Fixed a memory leak when launching questions
+
+###0.6 - September 2, 2011
+
+* Renamed base64_encode to testflight_base64_encode to remove a conflict with 
other third party libraries
+* Added ability to reinstall crash handlers when they are overwritten using 
the setOptions API
+* Fixed an issue where crash reports might not get sent under certain 
circumstances
+* Fixed a deadlock when the application is put in the background and then 
resumed before all information can be sent
+* Fixed an issue when attempting to un-install all signal handlers during a 
signal
+* Added support for landscape mode on the iPad to the Questions and Feedback 
views
+* Crash reporting now works in versions of Xcode earlier than 4.2
+* Fixed a memory leak during handshake
+
+###0.5 - August 19, 2011
+
+* Feedback that is not attached to a checkpoint [TestFlight openFeedbackView]
+* Usability changes to question views
+* Removed pause and resume sessions, replaced with sessions being stopped and 
started
+* Added text auto correction to the Long Answer question type
+* Crash reports now send on crash instead of next launch
+
+###0.4 - August 15, 2011
+
+* In Application Feedback with Questions
+* In application updates
+* Custom Environment Information added
+* Networking stack reimplementation
+* Exception handling fixes
+
+###0.3 - June 15, 2011
+
+* Removed all mention of JSONKit from the README
+* Added support for using both the Bundle Version and the Bundle Short Version 
string
+
+###0.2 - June 14, 2011
+
+* Removed all categories this allows users to use the SDK without having to 
set -ObjC and -load_all
+* Prefixed JSONKit for use in TestFlight to remove reported issues where some 
users were already using JSONKit
+* Added support for armv6 again
+
+###0.1 - June 11, 2011
+
+* Initial Version
diff --git a/ios/iosremote/iosremote.xcodeproj/project.pbxproj 
b/ios/iosremote/iosremote.xcodeproj/project.pbxproj
index 67903c7..539a83f 100644
--- a/ios/iosremote/iosremote.xcodeproj/project.pbxproj
+++ b/ios/iosremote/iosremote.xcodeproj/project.pbxproj
@@ -7,6 +7,10 @@
        objects = {
 
 /* Begin PBXBuildFile section */
+               5711026C1794127E007D343B /* libTestFlight.a in Frameworks */ = 
{isa = PBXBuildFile; fileRef = 571102681794127E007D343B /* libTestFlight.a */; 
};
+               5711026D1794127E007D343B /* README.md in Resources */ = {isa = 
PBXBuildFile; fileRef = 571102691794127E007D343B /* README.md */; };
+               5711026E1794127E007D343B /* release_notes.md in Resources */ = 
{isa = PBXBuildFile; fileRef = 5711026A1794127E007D343B /* release_notes.md */; 
};
+               571102701794128E007D343B /* libz.dylib in Frameworks */ = {isa 
= PBXBuildFile; fileRef = 5711026F1794128E007D343B /* libz.dylib */; };
                571BFAD1178AADA200EF1BDB /* more_icon.png in Resources */ = 
{isa = PBXBuildFile; fileRef = 571BFAD0178AADA200EF1BDB /* more_icon.png */; };
                571D4807178B2F080063D93B /* timer_clear_btn.png in Resources */ 
= {isa = PBXBuildFile; fileRef = 571D4805178B2F080063D93B /* 
timer_clear_btn.png */; };
                571D4808178B2F080063D93B /* timer_start_btn.png in Resources */ 
= {isa = PBXBuildFile; fileRef = 571D4806178B2F080063D93B /* 
timer_start_btn.png */; };
@@ -56,6 +60,11 @@
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
+               571102681794127E007D343B /* libTestFlight.a */ = {isa = 
PBXFileReference; lastKnownFileType = archive.ar; path = libTestFlight.a; 
sourceTree = "<group>"; };
+               571102691794127E007D343B /* README.md */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.md; 
sourceTree = "<group>"; };
+               5711026A1794127E007D343B /* release_notes.md */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = 
release_notes.md; sourceTree = "<group>"; };
+               5711026B1794127E007D343B /* TestFlight.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
TestFlight.h; sourceTree = "<group>"; };
+               5711026F1794128E007D343B /* libz.dylib */ = {isa = 
PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = 
libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
                571BFAD0178AADA200EF1BDB /* more_icon.png */ = {isa = 
PBXFileReference; lastKnownFileType = image.png; name = more_icon.png; path = 
iosremote/more_icon.png; sourceTree = "<group>"; };
                571D4805178B2F080063D93B /* timer_clear_btn.png */ = {isa = 
PBXFileReference; lastKnownFileType = image.png; name = timer_clear_btn.png; 
path = iosremote/timer_clear_btn.png; sourceTree = "<group>"; };
                571D4806178B2F080063D93B /* timer_start_btn.png */ = {isa = 
PBXFileReference; lastKnownFileType = image.png; name = timer_start_btn.png; 
path = iosremote/timer_start_btn.png; sourceTree = "<group>"; };
@@ -132,17 +141,30 @@
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               571102701794128E007D343B /* libz.dylib in 
Frameworks */,
                                57DC7007178D84490050FC58 /* 
CoreMotion.framework in Frameworks */,
                                BE9EBD071765BF0800283FD2 /* CoreImage.framework 
in Frameworks */,
                                57C6E3F3175E06E800E8BC5F /* UIKit.framework in 
Frameworks */,
                                57C6E3F5175E06E800E8BC5F /* 
Foundation.framework in Frameworks */,
                                57C6E3F7175E06E800E8BC5F /* 
CoreGraphics.framework in Frameworks */,
+                               5711026C1794127E007D343B /* libTestFlight.a in 
Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+               571102671794127E007D343B /* TestFlightSDK1.2.6 */ = {
+                       isa = PBXGroup;
+                       children = (
+                               571102681794127E007D343B /* libTestFlight.a */,
+                               571102691794127E007D343B /* README.md */,
+                               5711026A1794127E007D343B /* release_notes.md */,
+                               5711026B1794127E007D343B /* TestFlight.h */,
+                       );
+                       path = TestFlightSDK1.2.6;
+                       sourceTree = "<group>";
+               };
                571BFAD2178AB7BA00EF1BDB /* slideShow */ = {
                        isa = PBXGroup;
                        children = (
@@ -203,6 +225,8 @@
                57C6E3E6175E06E800E8BC5F = {
                        isa = PBXGroup;
                        children = (
+                               5711026F1794128E007D343B /* libz.dylib */,
+                               571102671794127E007D343B /* TestFlightSDK1.2.6 
*/,
                                57DC7006178D84490050FC58 /* 
CoreMotion.framework */,
                                57DC7004178D82940050FC58 /* ic_launc...@2x.png 
*/,
                                57DC7002178D82610050FC58 /* ic_launcher.png */,
@@ -371,6 +395,8 @@
                                57DC7003178D82610050FC58 /* ic_launcher.png in 
Resources */,
                                57DC7005178D82940050FC58 /* ic_launc...@2x.png 
in Resources */,
                                57DF0A85178FFFAB008B2D3D /* 
iPhone_autosize.storyboard in Resources */,
+                               5711026D1794127E007D343B /* README.md in 
Resources */,
+                               5711026E1794127E007D343B /* release_notes.md in 
Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -492,6 +518,11 @@
                                GCC_PREFIX_HEADER = 
"iosremote/iosremote-Prefix.pch";
                                INFOPLIST_FILE = 
"iosremote/iosremote-Info.plist";
                                IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+                               LIBRARY_SEARCH_PATHS = (
+                                       "$(inherited)",
+                                       
"\"$(SRCROOT)/../../../../../../Downloads/TestFlightSDK1.2.6\"",
+                                       "\"$(SRCROOT)/TestFlightSDK1.2.6\"",
+                               );
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                TARGETED_DEVICE_FAMILY = 1;
                                WRAPPER_EXTENSION = app;
@@ -505,6 +536,11 @@
                                GCC_PREFIX_HEADER = 
"iosremote/iosremote-Prefix.pch";
                                INFOPLIST_FILE = 
"iosremote/iosremote-Info.plist";
                                IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+                               LIBRARY_SEARCH_PATHS = (
+                                       "$(inherited)",
+                                       
"\"$(SRCROOT)/../../../../../../Downloads/TestFlightSDK1.2.6\"",
+                                       "\"$(SRCROOT)/TestFlightSDK1.2.6\"",
+                               );
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                TARGETED_DEVICE_FAMILY = 1;
                                WRAPPER_EXTENSION = app;
diff --git a/ios/iosremote/iosremote/AppDelegate.m 
b/ios/iosremote/iosremote/AppDelegate.m
index 5d3223c..eb5a414 100644
--- a/ios/iosremote/iosremote/AppDelegate.m
+++ b/ios/iosremote/iosremote/AppDelegate.m
@@ -14,6 +14,8 @@
 
 - (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
+    [TestFlight takeOff:@"cb645cf2-a557-481e-993a-6ad3aaeb06d0"];
+    
     // Override point for customization after application launch.
     /**
      * If ever we need some iOS6-only storyboard based features and we want to 
keep backward compatibility, we should uncomment these code to pick the right 
storyboard based on the existence on certains classes.
diff --git a/ios/iosremote/iosremote/Communication/Client.m 
b/ios/iosremote/iosremote/Communication/Client.m
index a17f097..1bdedf2 100644
--- a/ios/iosremote/iosremote/Communication/Client.m
+++ b/ios/iosremote/iosremote/Communication/Client.m
@@ -221,7 +221,7 @@ int count = 0;
     if(self.inputStream == nil && self.outputStream == nil)
         return;
     [self stopConnectionTimeoutTimer];
-    NSLog(@"stream status i:%u o:%u", self.inputStream.streamStatus, 
self.outputStream.streamStatus);
+//    NSLog(@"stream status i:%u o:%u", self.inputStream.streamStatus, 
self.outputStream.streamStatus);
     if ([self.inputStream streamStatus] != NSStreamStatusClosed && 
[self.inputStream streamStatus] != NSStreamStatusError) {
 //        NSLog(@"ci");
         [self.inputStream close];
diff --git a/ios/iosremote/iosremote/iosremote-Prefix.pch 
b/ios/iosremote/iosremote/iosremote-Prefix.pch
index b60bc65..4e499e1 100644
--- a/ios/iosremote/iosremote/iosremote-Prefix.pch
+++ b/ios/iosremote/iosremote/iosremote-Prefix.pch
@@ -11,4 +11,5 @@
 #ifdef __OBJC__
     #import <UIKit/UIKit.h>
     #import <Foundation/Foundation.h>
+    #import "TestFlight.h"
 #endif
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to