diff --git a/.gitignore b/.gitignore
index ca5a6acd..303bd32c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@ build/*
*.perspective
*.perspectivev3
*~.nib
+DerivedData
## ignore private workspace stuff added by Xcode4
xcuserdata
diff --git a/.gitmodules b/.gitmodules
index 04ff2e74..c37edbf4 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -3,4 +3,4 @@
url = git://github.com/FFmpeg/FFmpeg.git
[submodule "gas-preprocessor"]
path = gas-preprocessor
-url=git://github.com/libav/gas-preprocessor.git
+ url = git://github.com/libav/gas-preprocessor.git
diff --git a/KxMovieExample/KxMovieExample-Info.plist b/KxMovieExample/KxMovieExample-Info.plist
index e0386ae4..e3f5df04 100644
--- a/KxMovieExample/KxMovieExample-Info.plist
+++ b/KxMovieExample/KxMovieExample-Info.plist
@@ -9,7 +9,7 @@
CFBundleExecutable
${EXECUTABLE_NAME}
CFBundleIdentifier
- ru.kolyvan.${PRODUCT_NAME:rfc1034identifier}
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
@@ -30,6 +30,8 @@
armv7
+ UIRequiresFullScreen
+
UISupportedInterfaceOrientations
UIInterfaceOrientationPortrait
diff --git a/Podfile b/Podfile
index 1734776f..ef4a05aa 100644
--- a/Podfile
+++ b/Podfile
@@ -1,3 +1,7 @@
-platform :ios, '7.0'
+source 'https://github.com/CocoaPods/Specs.git'
-pod 'NSLogger'
+platform :ios, '8.0'
+
+target 'KxMovieExample' do
+ pod 'NSLogger'
+end
\ No newline at end of file
diff --git a/Podfile.lock b/Podfile.lock
index d26736ac..0da6eaaf 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -1,10 +1,14 @@
PODS:
- - NSLogger (1.2)
+ - NSLogger (1.7.0):
+ - NSLogger/Standard (= 1.7.0)
+ - NSLogger/Standard (1.7.0)
DEPENDENCIES:
- NSLogger
SPEC CHECKSUMS:
- NSLogger: 9607fdeafd0b09922c69615f99f127de45971b8f
+ NSLogger: daa17368272ddf10a0850c218fe49de23b50f2eb
-COCOAPODS: 0.32.1
+PODFILE CHECKSUM: f86598c4dca8de5ec784fcd0b8e5458a02563cb7
+
+COCOAPODS: 1.0.1
diff --git a/Pods/BuildHeaders/NSLogger/LoggerClient.h b/Pods/BuildHeaders/NSLogger/LoggerClient.h
deleted file mode 120000
index 6344b53b..00000000
--- a/Pods/BuildHeaders/NSLogger/LoggerClient.h
+++ /dev/null
@@ -1 +0,0 @@
-../../NSLogger/Client Logger/iOS/LoggerClient.h
\ No newline at end of file
diff --git a/Pods/BuildHeaders/NSLogger/LoggerCommon.h b/Pods/BuildHeaders/NSLogger/LoggerCommon.h
deleted file mode 120000
index 81837c3d..00000000
--- a/Pods/BuildHeaders/NSLogger/LoggerCommon.h
+++ /dev/null
@@ -1 +0,0 @@
-../../NSLogger/Client Logger/iOS/LoggerCommon.h
\ No newline at end of file
diff --git a/Pods/BuildHeaders/NSLogger/NSLogger.h b/Pods/BuildHeaders/NSLogger/NSLogger.h
deleted file mode 120000
index f03dd6f9..00000000
--- a/Pods/BuildHeaders/NSLogger/NSLogger.h
+++ /dev/null
@@ -1 +0,0 @@
-../../NSLogger/Client Logger/iOS/NSLogger.h
\ No newline at end of file
diff --git a/Pods/Headers/NSLogger/LoggerClient.h b/Pods/Headers/NSLogger/LoggerClient.h
deleted file mode 120000
index 6344b53b..00000000
--- a/Pods/Headers/NSLogger/LoggerClient.h
+++ /dev/null
@@ -1 +0,0 @@
-../../NSLogger/Client Logger/iOS/LoggerClient.h
\ No newline at end of file
diff --git a/Pods/Headers/NSLogger/LoggerCommon.h b/Pods/Headers/NSLogger/LoggerCommon.h
deleted file mode 120000
index 81837c3d..00000000
--- a/Pods/Headers/NSLogger/LoggerCommon.h
+++ /dev/null
@@ -1 +0,0 @@
-../../NSLogger/Client Logger/iOS/LoggerCommon.h
\ No newline at end of file
diff --git a/Pods/Headers/NSLogger/NSLogger.h b/Pods/Headers/NSLogger/NSLogger.h
deleted file mode 120000
index f03dd6f9..00000000
--- a/Pods/Headers/NSLogger/NSLogger.h
+++ /dev/null
@@ -1 +0,0 @@
-../../NSLogger/Client Logger/iOS/NSLogger.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/NSLogger/LoggerClient.h b/Pods/Headers/Private/NSLogger/LoggerClient.h
new file mode 120000
index 00000000..4117b780
--- /dev/null
+++ b/Pods/Headers/Private/NSLogger/LoggerClient.h
@@ -0,0 +1 @@
+../../../NSLogger/Client Logger/iOS/LoggerClient.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/NSLogger/LoggerCommon.h b/Pods/Headers/Private/NSLogger/LoggerCommon.h
new file mode 120000
index 00000000..49fbe121
--- /dev/null
+++ b/Pods/Headers/Private/NSLogger/LoggerCommon.h
@@ -0,0 +1 @@
+../../../NSLogger/Client Logger/iOS/LoggerCommon.h
\ No newline at end of file
diff --git a/Pods/Headers/Private/NSLogger/NSLogger.h b/Pods/Headers/Private/NSLogger/NSLogger.h
new file mode 120000
index 00000000..5ee4ac2e
--- /dev/null
+++ b/Pods/Headers/Private/NSLogger/NSLogger.h
@@ -0,0 +1 @@
+../../../NSLogger/Client Logger/iOS/NSLogger.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/NSLogger/LoggerClient.h b/Pods/Headers/Public/NSLogger/LoggerClient.h
new file mode 120000
index 00000000..4117b780
--- /dev/null
+++ b/Pods/Headers/Public/NSLogger/LoggerClient.h
@@ -0,0 +1 @@
+../../../NSLogger/Client Logger/iOS/LoggerClient.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/NSLogger/LoggerCommon.h b/Pods/Headers/Public/NSLogger/LoggerCommon.h
new file mode 120000
index 00000000..49fbe121
--- /dev/null
+++ b/Pods/Headers/Public/NSLogger/LoggerCommon.h
@@ -0,0 +1 @@
+../../../NSLogger/Client Logger/iOS/LoggerCommon.h
\ No newline at end of file
diff --git a/Pods/Headers/Public/NSLogger/NSLogger.h b/Pods/Headers/Public/NSLogger/NSLogger.h
new file mode 120000
index 00000000..5ee4ac2e
--- /dev/null
+++ b/Pods/Headers/Public/NSLogger/NSLogger.h
@@ -0,0 +1 @@
+../../../NSLogger/Client Logger/iOS/NSLogger.h
\ No newline at end of file
diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock
index d26736ac..0da6eaaf 100644
--- a/Pods/Manifest.lock
+++ b/Pods/Manifest.lock
@@ -1,10 +1,14 @@
PODS:
- - NSLogger (1.2)
+ - NSLogger (1.7.0):
+ - NSLogger/Standard (= 1.7.0)
+ - NSLogger/Standard (1.7.0)
DEPENDENCIES:
- NSLogger
SPEC CHECKSUMS:
- NSLogger: 9607fdeafd0b09922c69615f99f127de45971b8f
+ NSLogger: daa17368272ddf10a0850c218fe49de23b50f2eb
-COCOAPODS: 0.32.1
+PODFILE CHECKSUM: f86598c4dca8de5ec784fcd0b8e5458a02563cb7
+
+COCOAPODS: 1.0.1
diff --git a/Pods/NSLogger/Client Logger/iOS/LoggerClient.h b/Pods/NSLogger/Client Logger/iOS/LoggerClient.h
index 3321f712..f7541b86 100644
--- a/Pods/NSLogger/Client Logger/iOS/LoggerClient.h
+++ b/Pods/NSLogger/Client Logger/iOS/LoggerClient.h
@@ -1,14 +1,14 @@
/*
* LoggerClient.h
*
- * version 1.5-RC2 22-NOV-2013
+ * version 1.7.0 23-MAY-2016
*
* Part of NSLogger (client side)
* https://github.com/fpillet/NSLogger
*
* BSD license follows (http://www.opensource.org/licenses/bsd-license.php)
*
- * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved.
+ * Copyright (c) 2010-2016 Florent Pillet All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
@@ -35,7 +35,7 @@
*/
#import
#import
-#import
+#import
#import
#import
#import
@@ -48,14 +48,6 @@
// being included in the project, and potentially configure their macros accordingly
#define NSLOGGER_WAS_HERE 1
-// Set this to 0 if you absolutely NOT want any access to Cocoa (Objective-C, NS* calls)
-// We need a couple ones to reliably obtain the thread number and device information
-// Note that since we need NSAutoreleasePool when using Cocoa in the logger's worker thread,
-// we need to put Cocoa in multithreading mode. Also, ALLOW_COCOA_USE allows the client code
-// to use NSLog()-style message formatting (less verbose than CFShow()-style) through the
-// use of -[NSString stringWithFormat:arguments:]
-#define ALLOW_COCOA_USE 1
-
/* -----------------------------------------------------------------
* Logger option flags & default options
* -----------------------------------------------------------------
@@ -66,66 +58,19 @@ enum {
kLoggerOption_BrowseBonjour = 0x04,
kLoggerOption_BrowseOnlyLocalDomain = 0x08,
kLoggerOption_UseSSL = 0x10,
- kLoggerOption_CaptureSystemConsole = 0x20
+ kLoggerOption_CaptureSystemConsole = 0x20,
+ kLoggerOption_BrowsePeerToPeer = 0x40
};
#define LOGGER_DEFAULT_OPTIONS (kLoggerOption_BufferLogsUntilConnection | \
kLoggerOption_BrowseBonjour | \
+ kLoggerOption_BrowsePeerToPeer | \
kLoggerOption_BrowseOnlyLocalDomain | \
kLoggerOption_UseSSL | \
kLoggerOption_CaptureSystemConsole)
-/* -----------------------------------------------------------------
- * Structure defining a Logger
- * -----------------------------------------------------------------
- */
-typedef struct
-{
- CFStringRef bufferFile; // If non-NULL, all buffering is done to the specified file instead of in-memory
- CFStringRef host; // Viewer host to connect to (instead of using Bonjour)
- UInt32 port; // port on the viewer host
-
- CFMutableArrayRef bonjourServiceBrowsers; // Active service browsers
- CFMutableArrayRef bonjourServices; // Services being tried
- CFNetServiceBrowserRef bonjourDomainBrowser; // Domain browser
-
- CFMutableArrayRef logQueue; // Message queue
- pthread_mutex_t logQueueMutex;
- pthread_cond_t logQueueEmpty;
-
- dispatch_once_t workerThreadInit; // Use this to ensure creation of the worker thread is ever done only once for a given logger
- pthread_t workerThread; // The worker thread responsible for Bonjour resolution, connection and logs transmission
- CFRunLoopSourceRef messagePushedSource; // A message source that fires on the worker thread when messages are available for send
- CFRunLoopSourceRef bufferFileChangedSource; // A message source that fires on the worker thread when the buffer file configuration changes
- CFRunLoopSourceRef remoteOptionsChangedSource; // A message source that fires when option changes imply a networking strategy change (switch to/from Bonjour, direct host or file streaming)
-
- CFWriteStreamRef logStream; // The connected stream we're writing to
- CFWriteStreamRef bufferWriteStream; // If bufferFile not NULL and we're not connected, points to a stream for writing log data
- CFReadStreamRef bufferReadStream; // If bufferFile not NULL, points to a read stream that will be emptied prior to sending the rest of in-memory messages
-
- SCNetworkReachabilityRef reachability; // The reachability object we use to determine when the target host becomes reachable
- SCNetworkReachabilityFlags reachabilityFlags; // Last known reachability flags - we use these to detect network transitions without network loss
- CFRunLoopTimerRef reconnectTimer; // A timer to regularly check connection to the defined host, along with reachability for added reliability
-
- uint8_t *sendBuffer; // data waiting to be sent
- NSUInteger sendBufferSize;
- NSUInteger sendBufferUsed; // number of bytes of the send buffer currently in use
- NSUInteger sendBufferOffset; // offset in sendBuffer to start sending at
-
- int32_t messageSeq; // sequential message number (added to each message sent)
-
- // settings
- uint32_t options; // Flags, see enum above
- CFStringRef bonjourServiceType; // leave NULL to use the default
- CFStringRef bonjourServiceName; // leave NULL to use the first one available
-
- // internal state
- BOOL targetReachable; // Set to YES when the Reachability target (host or internet) is deemed reachable
- BOOL connected; // Set to YES once the write stream declares the connection open
- volatile BOOL quit; // Set to YES to terminate the logger worker thread's runloop
- BOOL incompleteSendOfFirstItem; // set to YES if we are sending the first item in the queue and it's bigger than what the buffer can hold
-} Logger;
-
+// The Logger struct is no longer public, use the new LoggerGet[...] functions instead
+typedef struct Logger Logger;
/* -----------------------------------------------------------------
* LOGGING FUNCTIONS
@@ -136,14 +81,24 @@ typedef struct
extern "C" {
#endif
+// Prevents the linker from stripping NSLogger functions
+// This is mainly for linked frameworks to be able to use NSLogger dynamically.
+// If you DO WANT this functionality, you need to define NSLOGGER_ALLOW_NOSTRIP
+// somewhere in the header files included before this one.
+#ifdef NSLOGGER_ALLOW_NOSTRIP
+#define NSLOGGER_NOSTRIP __attribute__((used))
+#else
+#define NSLOGGER_NOSTRIP
+#endif
+
// Set the default logger which will be the one used when passing NULL for logge
-extern void LoggerSetDefaultLogger(Logger *aLogger);
+extern void LoggerSetDefaultLogger(Logger *aLogger) NSLOGGER_NOSTRIP;
// Get the default logger, create one if it does not exist
-extern Logger *LoggerGetDefaultLogger(void);
+extern Logger *LoggerGetDefaultLogger(void) NSLOGGER_NOSTRIP;
// Checks whether the default logger exists, returns it if YES, otherwise do NO create one
-extern Logger *LoggerCheckDefaultLogger(void);
+extern Logger *LoggerCheckDefaultLogger(void) NSLOGGER_NOSTRIP;
// Initialize a new logger, set as default logger if this is the first one
// Options default to:
@@ -151,18 +106,23 @@ extern Logger *LoggerCheckDefaultLogger(void);
// - buffer until connection = YES
// - browse Bonjour = YES
// - browse only locally on Bonjour = YES
-extern Logger* LoggerInit(void);
+extern Logger* LoggerInit(void) NSLOGGER_NOSTRIP;
// Set logger options if you don't want the default options (see above)
-extern void LoggerSetOptions(Logger *logger, uint32_t options);
+extern void LoggerSetOptions(Logger *logger, uint32_t options) NSLOGGER_NOSTRIP;
+extern uint32_t LoggerGetOptions(Logger *logger) NSLOGGER_NOSTRIP;
// Set Bonjour logging names, so you can force the logger to use a specific service type
// or direct logs to the machine on your network which publishes a specific name
-extern void LoggerSetupBonjour(Logger *logger, CFStringRef bonjourServiceType, CFStringRef bonjourServiceName);
+extern void LoggerSetupBonjour(Logger *logger, CFStringRef bonjourServiceType, CFStringRef bonjourServiceName) NSLOGGER_NOSTRIP;
+extern CFStringRef LoggerGetBonjourServiceType(Logger *logger) NSLOGGER_NOSTRIP;
+extern CFStringRef LoggerGetBonjourServiceName(Logger *logger) NSLOGGER_NOSTRIP;
// Directly set the viewer host (hostname or IP address) and port we want to connect to. If set, LoggerStart() will
// try to connect there first before trying Bonjour
-extern void LoggerSetViewerHost(Logger *logger, CFStringRef hostName, UInt32 port);
+extern void LoggerSetViewerHost(Logger *logger, CFStringRef hostName, UInt32 port) NSLOGGER_NOSTRIP;
+extern CFStringRef LoggerGetViewerHostName(Logger *logger) NSLOGGER_NOSTRIP;
+extern UInt32 LoggerGetViewerPort(Logger *logger) NSLOGGER_NOSTRIP;
// Configure the logger to use a local file for buffering, instead of memory.
// - If you initially set a buffer file after logging started but while a logger connection
@@ -171,22 +131,23 @@ extern void LoggerSetViewerHost(Logger *logger, CFStringRef hostName, UInt32 por
// - If you want to change the buffering file after logging started, you should first
// call LoggerStop() the call LoggerSetBufferFile(). Note that all logs stored in the previous
// buffer file WON'T be transferred to the new file in this case.
-extern void LoggerSetBufferFile(Logger *logger, CFStringRef absolutePath);
+extern void LoggerSetBufferFile(Logger *logger, CFStringRef absolutePath) NSLOGGER_NOSTRIP;
+extern CFStringRef LoggerGetBufferFile(Logger *logger) NSLOGGER_NOSTRIP;
// Activate the logger, try connecting. You can pass NULL to start the default logger,
// it will return a pointer to it.
-extern Logger* LoggerStart(Logger *logger);
+extern Logger* LoggerStart(Logger *logger) NSLOGGER_NOSTRIP;
//extern void LoggerConnectToHost(CFDataRef address, int port);
// Deactivate and free the logger.
-extern void LoggerStop(Logger *logger);
+extern void LoggerStop(Logger *logger) NSLOGGER_NOSTRIP;
// Pause the current thread until all messages from the logger have been transmitted
// this is useful to use before an assert() aborts your program. If waitForConnection is YES,
// LoggerFlush() will block even if the client is not currently connected to the desktop
// viewer. You should be using NO most of the time, but in some cases it can be useful.
-extern void LoggerFlush(Logger *logger, BOOL waitForConnection);
+extern void LoggerFlush(Logger *logger, BOOL waitForConnection) NSLOGGER_NOSTRIP;
/* Logging functions. Each function exists in four versions:
*
@@ -200,48 +161,48 @@ extern void LoggerFlush(Logger *logger, BOOL waitForConnection);
*/
// Log a message, calling format compatible with NSLog
-extern void LogMessageCompat(NSString *format, ...);
+extern void LogMessageCompat(NSString *format, ...) NSLOGGER_NOSTRIP;
// Log a message without any formatting (just log the given string)
-extern void LogMessageRaw(NSString *message);
-extern void LogMessageRawF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message);
-extern void LogMessageRawToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message);
+extern void LogMessageRaw(NSString *message) NSLOGGER_NOSTRIP;
+extern void LogMessageRawF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message) NSLOGGER_NOSTRIP;
+extern void LogMessageRawToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message) NSLOGGER_NOSTRIP;
// Log a message. domain can be nil if default domain.
-extern void LogMessage(NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(3,4);
-extern void LogMessageF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(6,7);
-extern void LogMessageTo(Logger *logger, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(4,5);
-extern void LogMessageToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(7,8);
+extern void LogMessage(NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(3,4) NSLOGGER_NOSTRIP;
+extern void LogMessageF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(6,7) NSLOGGER_NOSTRIP;
+extern void LogMessageTo(Logger *logger, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(4,5) NSLOGGER_NOSTRIP;
+extern void LogMessageToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(7,8) NSLOGGER_NOSTRIP;
// Log a message. domain can be nil if default domain (versions with va_list format args instead of ...)
-extern void LogMessage_va(NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(3,0);
-extern void LogMessageF_va(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(6,0);
-extern void LogMessageTo_va(Logger *logger, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(4,0);
-extern void LogMessageToF_va(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(7,0);
+extern void LogMessage_va(NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(3,0) NSLOGGER_NOSTRIP;
+extern void LogMessageF_va(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(6,0) NSLOGGER_NOSTRIP;
+extern void LogMessageTo_va(Logger *logger, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(4,0) NSLOGGER_NOSTRIP;
+extern void LogMessageToF_va(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(7,0) NSLOGGER_NOSTRIP;
// Send binary data to remote logger
-extern void LogData(NSString *domain, int level, NSData *data);
-extern void LogDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data);
-extern void LogDataTo(Logger *logger, NSString *domain, int level, NSData *data);
-extern void LogDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data);
+extern void LogData(NSString *domain, int level, NSData *data) NSLOGGER_NOSTRIP;
+extern void LogDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data) NSLOGGER_NOSTRIP;
+extern void LogDataTo(Logger *logger, NSString *domain, int level, NSData *data) NSLOGGER_NOSTRIP;
+extern void LogDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data) NSLOGGER_NOSTRIP;
// Send image data to remote logger
-extern void LogImageData(NSString *domain, int level, int width, int height, NSData *data);
-extern void LogImageDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data);
-extern void LogImageDataTo(Logger *logger, NSString *domain, int level, int width, int height, NSData *data);
-extern void LogImageDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data);
+extern void LogImageData(NSString *domain, int level, int width, int height, NSData *data) NSLOGGER_NOSTRIP;
+extern void LogImageDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data) NSLOGGER_NOSTRIP;
+extern void LogImageDataTo(Logger *logger, NSString *domain, int level, int width, int height, NSData *data) NSLOGGER_NOSTRIP;
+extern void LogImageDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data) NSLOGGER_NOSTRIP;
// Mark the start of a block. This allows the remote logger to group blocks together
-extern void LogStartBlock(NSString *format, ...) NS_FORMAT_FUNCTION(1,2);
-extern void LogStartBlockTo(Logger *logger, NSString *format, ...) NS_FORMAT_FUNCTION(2,3);
+extern void LogStartBlock(NSString *format, ...) NS_FORMAT_FUNCTION(1,2) NSLOGGER_NOSTRIP;
+extern void LogStartBlockTo(Logger *logger, NSString *format, ...) NS_FORMAT_FUNCTION(2,3) NSLOGGER_NOSTRIP;
// Mark the end of a block
-extern void LogEndBlock(void);
-extern void LogEndBlockTo(Logger *logger);
+extern void LogEndBlock(void) NSLOGGER_NOSTRIP;
+extern void LogEndBlockTo(Logger *logger) NSLOGGER_NOSTRIP;
// Log a marker (text can be null)
-extern void LogMarker(NSString *text);
-extern void LogMarkerTo(Logger *logger, NSString *text);
+extern void LogMarker(NSString *text) NSLOGGER_NOSTRIP;
+extern void LogMarkerTo(Logger *logger, NSString *text) NSLOGGER_NOSTRIP;
#ifdef __cplusplus
};
diff --git a/Pods/NSLogger/Client Logger/iOS/LoggerClient.m b/Pods/NSLogger/Client Logger/iOS/LoggerClient.m
index 0534ab58..d08456df 100644
--- a/Pods/NSLogger/Client Logger/iOS/LoggerClient.m
+++ b/Pods/NSLogger/Client Logger/iOS/LoggerClient.m
@@ -1,7 +1,7 @@
/*
* LoggerClient.m
*
- * version 1.5-RC2 22-NOV-2013
+ * version 1.7.0 23-MAY-2016
*
* Main implementation of the NSLogger client side code
* Part of NSLogger (client side)
@@ -9,7 +9,7 @@
*
* BSD license follows (http://www.opensource.org/licenses/bsd-license.php)
*
- * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved.
+ * Copyright (c) 2010-2016 Florent Pillet All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
@@ -41,27 +41,20 @@
#import "LoggerClient.h"
#import "LoggerCommon.h"
-#if !TARGET_OS_IPHONE
- #import
- #import
- #import
- #import
-#elif ALLOW_COCOA_USE
- #import
-#endif
+#import
+#import
+#import
+#import
#import
+#if TARGET_OS_IPHONE
+#import
+#endif
+
/* --------------------------------------------------------------------------------
* IMPLEMENTATION NOTES:
*
- * The logger runs in a separate thread. It is written
- * in straight C for maximum compatibility with all runtime environments
- * (does not use the Objective-C runtime, only uses unix and CoreFoundation
- * calls, except for get the thread name and device information, but these
- * can be disabled by setting ALLOW_COCOA_USE to 0).
- *
- * It is suitable for use in both Cocoa and low-level code. It does not activate
- * Cocoa multi-threading (no call to [NSThread detachNewThread...]). You can start
+ * The logger runs in a separate thread. You can start
* logging very early (as soon as your code starts running), logs will be
* buffered and sent to the log viewer as soon as a connection is acquired.
* This makes the logger suitable for use in conditions where you usually
@@ -123,25 +116,55 @@
#define LOGGERDBG2(format, ...) do{}while(0)
#endif
-// small set of macros for proper ARC/non-ARC compilation support
-// with added cruft to support non-clang compilers
-#undef LOGGER_ARC_MACROS_DEFINED
-#if defined(__has_feature)
- #if __has_feature(objc_arc)
- #define CAST_TO_CFSTRING __bridge CFStringRef
- #define CAST_TO_NSSTRING __bridge NSString *
- #define CAST_TO_CFDATA __bridge CFDataRef
- #define RELEASE(obj) do{}while(0)
- #define LOGGER_ARC_MACROS_DEFINED
- #endif
-#endif
-#if !defined(LOGGER_ARC_MACROS_DEFINED)
- #define CAST_TO_CFSTRING CFStringRef
- #define CAST_TO_NSSTRING NSString *
- #define CAST_TO_CFDATA CFDataRef
- #define RELEASE(obj) [obj release]
+#if defined(__has_feature) && __has_feature(objc_arc)
+#error LoggerClinet.m must be compiled without Objective-C Automatic Reference Counting (CLANG_ENABLE_OBJC_ARC=NO)
#endif
-#undef LOGGER_ARC_MACROS_DEFINED
+
+struct Logger
+{
+ CFStringRef bufferFile; // If non-NULL, all buffering is done to the specified file instead of in-memory
+ CFStringRef host; // Viewer host to connect to (instead of using Bonjour)
+ UInt32 port; // port on the viewer host
+
+ CFMutableArrayRef bonjourServiceBrowsers; // Active service browsers
+ CFMutableArrayRef bonjourServices; // Services being tried
+ NSNetServiceBrowser *bonjourDomainBrowser; // Domain browser
+ CFMutableArrayRef logQueue; // Message queue
+ pthread_mutex_t logQueueMutex;
+ pthread_cond_t logQueueEmpty;
+
+ dispatch_once_t workerThreadInit; // Use this to ensure creation of the worker thread is ever done only once for a given logger
+ pthread_t workerThread; // The worker thread responsible for Bonjour resolution, connection and logs transmission
+ CFRunLoopSourceRef messagePushedSource; // A message source that fires on the worker thread when messages are available for send
+ CFRunLoopSourceRef bufferFileChangedSource; // A message source that fires on the worker thread when the buffer file configuration changes
+ CFRunLoopSourceRef remoteOptionsChangedSource; // A message source that fires when option changes imply a networking strategy change (switch to/from Bonjour, direct host or file streaming)
+
+ CFWriteStreamRef logStream; // The connected stream we're writing to
+ CFWriteStreamRef bufferWriteStream; // If bufferFile not NULL and we're not connected, points to a stream for writing log data
+ CFReadStreamRef bufferReadStream; // If bufferFile not NULL, points to a read stream that will be emptied prior to sending the rest of in-memory messages
+
+ SCNetworkReachabilityRef reachability; // The reachability object we use to determine when the target host becomes reachable
+ SCNetworkReachabilityFlags reachabilityFlags; // Last known reachability flags - we use these to detect network transitions without network loss
+ CFRunLoopTimerRef reconnectTimer; // A timer to regularly check connection to the defined host, along with reachability for added reliability
+
+ uint8_t *sendBuffer; // data waiting to be sent
+ NSUInteger sendBufferSize;
+ NSUInteger sendBufferUsed; // number of bytes of the send buffer currently in use
+ NSUInteger sendBufferOffset; // offset in sendBuffer to start sending at
+
+ int32_t messageSeq; // sequential message number (added to each message sent)
+
+ // settings
+ uint32_t options; // Flags, see enum above
+ CFStringRef bonjourServiceType; // leave NULL to use the default
+ CFStringRef bonjourServiceName; // leave NULL to use the first one available
+
+ // internal state
+ BOOL targetReachable; // Set to YES when the Reachability target (host or internet) is deemed reachable
+ BOOL connected; // Set to YES once the write stream declares the connection open
+ volatile BOOL quit; // Set to YES to terminate the logger worker thread's runloop
+ BOOL incompleteSendOfFirstItem; // set to YES if we are sending the first item in the queue and it's bigger than what the buffer can hold
+};
/* Local prototypes */
static void LoggerFlushAllOnExit(void);
@@ -152,8 +175,12 @@
// Bonjour management
static void LoggerStartBonjourBrowsing(Logger *logger);
static void LoggerStopBonjourBrowsing(Logger *logger);
-static BOOL LoggerBrowseBonjourForServices(Logger *logger, CFStringRef domainName);
-static void LoggerServiceBrowserCallBack(CFNetServiceBrowserRef browser, CFOptionFlags flags, CFTypeRef domainOrService, CFStreamError* error, void *info);
+static void LoggerBrowseBonjourForServices(Logger *logger, CFStringRef domainName);
+static void LoggerConnectToService(Logger *logger, NSNetService *service);
+static void LoggerDisconnectFromService(Logger *logger, NSNetService *service);
+@interface FPLLoggerBonjourDelegate : NSObject
+- (instancetype)initWithLogger:(Logger *)logger;
+@end
// Reachability and reconnect timer
static void LoggerRemoteSettingsChanged(Logger *logger);
@@ -200,13 +227,14 @@
static void LoggerStartGrabbingConsole(Logger *logger);
static void LoggerStopGrabbingConsole(Logger *logger);
static Logger ** consoleGrabbersList = NULL;
-static unsigned consoleGrabbersListLength;
+static unsigned consoleGrabbersListLength = 0;
static unsigned numActiveConsoleGrabbers = 0;
static pthread_mutex_t consoleGrabbersMutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_t consoleGrabThread;
static int sConsolePipes[4] = { -1, -1, -1, -1 };
static int sSTDOUT = -1, sSTDERR = -1;
static int sSTDOUThadSIGPIPE, sSTDERRhadSIGPIPE;
+static dispatch_source_t sSTDOUTGrabber = NULL;
+static dispatch_source_t sSTDERRGrabber = NULL;
// -----------------------------------------------------------------------------
#pragma mark -
@@ -310,6 +338,12 @@ void LoggerSetOptions(Logger *logger, uint32_t options)
logger->options = options;
}
+uint32_t LoggerGetOptions(Logger *logger)
+{
+ logger = logger ?: LoggerGetDefaultLogger();
+ return logger ? logger->options : 0;
+}
+
void LoggerSetupBonjour(Logger *logger, CFStringRef bonjourServiceType, CFStringRef bonjourServiceName)
{
LOGGERDBG(CFSTR("LoggerSetupBonjour serviceType=%@ serviceName=%@"), bonjourServiceType, bonjourServiceName);
@@ -318,19 +352,43 @@ void LoggerSetupBonjour(Logger *logger, CFStringRef bonjourServiceType, CFString
logger = LoggerGetDefaultLogger();
if (logger != NULL)
{
+ BOOL change = ((bonjourServiceName != NULL) != (logger->bonjourServiceName != NULL) ||
+ (bonjourServiceName != NULL && CFStringCompare(bonjourServiceName, logger->bonjourServiceName, 0) != kCFCompareEqualTo))
+ || ((bonjourServiceType != NULL) != (logger->bonjourServiceType != NULL) ||
+ (bonjourServiceType != NULL && CFStringCompare(bonjourServiceType, logger->bonjourServiceType, 0) != kCFCompareEqualTo));
+
if (bonjourServiceType != NULL)
CFRetain(bonjourServiceType);
if (bonjourServiceName != NULL)
CFRetain(bonjourServiceName);
+
if (logger->bonjourServiceType != NULL)
CFRelease(logger->bonjourServiceType);
if (logger->bonjourServiceName != NULL)
CFRelease(logger->bonjourServiceName);
+
logger->bonjourServiceType = bonjourServiceType;
logger->bonjourServiceName = bonjourServiceName;
+
+ if (change && logger->remoteOptionsChangedSource != NULL)
+ {
+ CFRunLoopSourceSignal(logger->remoteOptionsChangedSource);
+ }
}
}
+CFStringRef LoggerGetBonjourServiceType(Logger *logger)
+{
+ logger = logger ?: LoggerGetDefaultLogger();
+ return logger ? logger->bonjourServiceType : NULL;
+}
+
+CFStringRef LoggerGetBonjourServiceName(Logger *logger)
+{
+ logger = logger ?: LoggerGetDefaultLogger();
+ return logger ? logger->bonjourServiceName : NULL;
+}
+
void LoggerSetViewerHost(Logger *logger, CFStringRef hostName, UInt32 port)
{
if (logger == NULL)
@@ -359,6 +417,18 @@ void LoggerSetViewerHost(Logger *logger, CFStringRef hostName, UInt32 port)
CFRelease(previousHost);
}
+CFStringRef LoggerGetViewerHostName(Logger *logger)
+{
+ logger = logger ?: LoggerGetDefaultLogger();
+ return logger ? logger->host : NULL;
+}
+
+UInt32 LoggerGetViewerPort(Logger *logger)
+{
+ logger = logger ?: LoggerGetDefaultLogger();
+ return logger ? logger->port : 0;
+}
+
void LoggerSetBufferFile(Logger *logger, CFStringRef absolutePath)
{
if (logger == NULL)
@@ -385,6 +455,12 @@ void LoggerSetBufferFile(Logger *logger, CFStringRef absolutePath)
}
}
+CFStringRef LoggerGetBufferFile(Logger *logger)
+{
+ logger = logger ?: LoggerGetDefaultLogger();
+ return logger ? logger->bufferFile : NULL;
+}
+
Logger *LoggerStart(Logger *logger)
{
// will do nothing if logger is already started
@@ -1032,81 +1108,102 @@ static void LoggerWriteMoreData(Logger *logger)
#pragma mark -
#pragma mark Console logs redirection support
// -----------------------------------------------------------------------------
-static void LoggerLogFromConsole(NSString *tag, int fd, int outfd)
+
+static void LoggerLogMessageToConsoleGrabbers(CFStringRef tag, CFStringRef message)
{
- const int BUFSIZE = 1000;
- UInt8 buf[BUFSIZE];
- ssize_t bytes_read = 0;
- while ((bytes_read = read(fd, buf, BUFSIZE-1)) > 0)
+ pthread_mutex_lock(&consoleGrabbersMutex);
+ for (unsigned i = 0; i < consoleGrabbersListLength; i++)
{
- // output received data to the original fd
- if (outfd != -1)
- write(outfd, buf, (size_t)bytes_read);
+ if (consoleGrabbersList[i] != NULL)
+ LogMessageRawToF(consoleGrabbersList[i], NULL, 0, NULL, (NSString *)tag, 0, (NSString *)message);
+ }
+ pthread_mutex_unlock(&consoleGrabbersMutex);
+}
- if (buf[bytes_read-1] == '\n')
- --bytes_read;
+#define kFileDescriptorCaptureBufferSize 1024
- CFStringRef messageString = CFStringCreateWithBytes(NULL, buf, bytes_read, kCFStringEncodingUTF8, false);
- if (messageString != NULL)
+static dispatch_source_t LoggerStartGrabbingFD(int fd, CFStringRef tag)
+{
+ // console capture implementation derived from https://github.com/swisspol/XLFacility/blob/master/XLFacility/Core/XLFacility.m
+ // Copyright (c) 2014, Pierre-Olivier Latour
+ size_t prognameLength = strlen(getprogname());
+
+ unsigned char* buffer = (unsigned char *)malloc(kFileDescriptorCaptureBufferSize);
+ CFMutableDataRef data = CFDataCreateMutable(NULL, 0);
+
+ fcntl(fd, F_SETFL, O_NONBLOCK);
+
+ dispatch_source_t source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, fd, 0, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0));
+ dispatch_source_set_cancel_handler(source, ^{
+ free(buffer);
+ });
+
+ dispatch_source_set_event_handler(source, ^{
+ // pump all outstanding data out of FD
+ for(;;)
{
- CFArrayRef array = CFStringCreateArrayBySeparatingStrings(NULL, messageString, CFSTR("\n"));
- if (array != NULL)
+ ssize_t size = read(fd, buffer, kFileDescriptorCaptureBufferSize);
+ if (size > 0)
+ CFDataAppendBytes(data, buffer, size);
+ if (size < kFileDescriptorCaptureBufferSize)
+ break;
+ }
+
+ // break into lines and push to log
+ for(;;)
+ {
+ // locate newline
+ const unsigned char *bytes = CFDataGetMutableBytePtr(data);
+ if (bytes == NULL) // pointer may be null if data is empty
+ break;
+ NSInteger pos = 0, maxPos = CFDataGetLength(data);
+ while (pos < maxPos)
{
- pthread_mutex_lock(&consoleGrabbersMutex);
+ if (bytes[pos] == '\n')
+ break;
+ pos++;
+ }
+ if (pos == maxPos)
+ break;
- CFIndex n = CFArrayGetCount(array);
- for (CFIndex m = 0; m < n; m++)
+ NSUInteger offset = 0;
+ if (pos > 24 + prognameLength + 2)
+ {
+ // detect and remove NSLog header
+ // "yyyy-mm-dd HH:MM:ss.SSS progname[:] "
+ if ((bytes[4] == '-') && (bytes[7] == '-') && (bytes[10] == ' ') && (bytes[13] == ':') && (bytes[16] == ':') && (bytes[19] == '.'))
{
- CFStringRef msg = (CFStringRef)CFArrayGetValueAtIndex(array, m);
- for (unsigned i = 0; i < consoleGrabbersListLength; i++)
+ if ((bytes[23] == ' ') && /*!strncmp(&bytes[24], pname, prognameLength) &&*/ (bytes[24 + prognameLength] == '['))
{
- if (consoleGrabbersList[i] != NULL)
- LogMessageTo(consoleGrabbersList[i], tag, 0, @"%@", msg);
+ const char* found = strnstr((const char *)&bytes[24 + prognameLength + 1], "] ", maxPos - (24 + prognameLength + 1));
+ if (found)
+ {
+ offset = found - (const char *)bytes + 2;
+ }
}
}
-
- pthread_mutex_unlock(&consoleGrabbersMutex);
-
- CFRelease(array);
}
- CFRelease(messageString);
- }
- }
-}
-
-static void *LoggerConsoleGrabThread(void *context)
-{
-#pragma unused (context)
-
- int fdout = sConsolePipes[0];
- fcntl(fdout, F_SETFL, fcntl(fdout, F_GETFL, 0) | O_NONBLOCK);
-
- int fderr = sConsolePipes[2];
- fcntl(fderr, F_SETFL, fcntl(fderr, F_GETFL, 0) | O_NONBLOCK);
-
- while (numActiveConsoleGrabbers != 0)
- {
- fd_set set;
- FD_ZERO(&set);
- FD_SET(fdout, &set);
- FD_SET(fderr, &set);
-
- int ret = select(fderr + 1, &set, NULL, NULL, NULL);
+
+ // output message to grabbers
+ CFStringRef message = CFStringCreateWithBytes(NULL, bytes+offset, pos-offset, kCFStringEncodingUTF8, false);
+ if (message != NULL)
+ {
+ LoggerLogMessageToConsoleGrabbers(tag, message);
+ CFRelease(message);
+ }
+ else
+ {
+ LOGGERDBG(CFSTR("failed extracting string of length %d from fd %d"), pos-offset, fd);
+ }
- if (ret <= 0)
- {
- // ==0: time expired without activity
- // < 0: error occurred
- break;
+ // drop all newlines and move on
+ while (++pos < maxPos && (bytes[pos] == '\n' || bytes[pos] == '\r'))
+ ;
+ CFDataDeleteBytes(data, CFRangeMake(0, pos));
}
-
- if (FD_ISSET(fdout, &set))
- LoggerLogFromConsole(@"stdout", fdout, sSTDOUT);
- if (FD_ISSET(fderr, &set ))
- LoggerLogFromConsole(@"stderr", fderr, sSTDERR);
- }
-
- return NULL;
+ });
+ dispatch_resume(source);
+ return source;
}
static void LoggerStartConsoleRedirection()
@@ -1144,11 +1241,24 @@ static void LoggerStartConsoleRedirection()
}
}
- pthread_create(&consoleGrabThread, NULL, &LoggerConsoleGrabThread, NULL);
+ sSTDOUTGrabber = LoggerStartGrabbingFD(sConsolePipes[0], CFSTR("stdout"));
+ sSTDERRGrabber = LoggerStartGrabbingFD(sConsolePipes[2], CFSTR("stderr"));
}
static void LoggerStopConsoleRedirection()
{
+ // cancel & destroy the dispatch sources
+ dispatch_source_cancel(sSTDOUTGrabber);
+ dispatch_source_cancel(sSTDERRGrabber);
+#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 || MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
+ // Integration of dispatch objects with Objective-C requires targeting iOS 6.0+ and Mac OS X 10.8+
+#else
+ dispatch_release(sSTDOUTGrabber);
+ dispatch_release(sSTDERRGrabber);
+#endif
+ sSTDOUTGrabber = NULL;
+ sSTDERRGrabber = NULL;
+
// close the pipes - will force exiting the console logger thread
// assume the console grabber mutex has been acquired
dup2(sSTDOUT, STDOUT_FILENO);
@@ -1157,6 +1267,9 @@ static void LoggerStopConsoleRedirection()
close(sSTDOUT);
close(sSTDERR);
+ sSTDOUT = -1;
+ sSTDERR = -1;
+
// restore sigpipe flag on standard streams
fcntl(STDOUT_FILENO, F_SETNOSIGPIPE, &sSTDOUThadSIGPIPE);
fcntl(STDERR_FILENO, F_SETNOSIGPIPE, &sSTDERRhadSIGPIPE);
@@ -1174,8 +1287,6 @@ static void LoggerStopConsoleRedirection()
close(sConsolePipes[1]);
}
sConsolePipes[0] = sConsolePipes[1] = sConsolePipes[2] = sConsolePipes[3] = -1;
-
- pthread_join(consoleGrabThread, NULL);
}
static void LoggerStartGrabbingConsole(Logger *logger)
@@ -1204,7 +1315,7 @@ static void LoggerStartGrabbingConsole(Logger *logger)
LoggerStartConsoleRedirection(); // Start redirection if necessary
- pthread_mutex_unlock( &consoleGrabbersMutex );
+ pthread_mutex_unlock(&consoleGrabbersMutex);
}
static void LoggerStopGrabbingConsole(Logger *logger)
@@ -1388,29 +1499,15 @@ static void LoggerStartBonjourBrowsing(Logger *logger)
if (logger->options & kLoggerOption_BrowseOnlyLocalDomain)
{
LOGGERDBG(CFSTR("Logger configured to search only the local domain, searching for services on: local."));
- if (!LoggerBrowseBonjourForServices(logger, CFSTR("local.")) && logger->host == NULL)
- {
- LOGGERDBG(CFSTR("*** Logger: could not browse for services in domain local., no remote host configured: reverting to console logging. ***"));
- logger->options |= kLoggerOption_LogToConsole;
- }
+ LoggerBrowseBonjourForServices(logger, CFSTR("local."));
}
else
{
LOGGERDBG(CFSTR("Logger configured to search all domains, browsing for domains first"));
- CFNetServiceClientContext context = {0, (void *)logger, NULL, NULL, NULL};
- CFRunLoopRef runLoop = CFRunLoopGetCurrent();
- logger->bonjourDomainBrowser = CFNetServiceBrowserCreate(NULL, &LoggerServiceBrowserCallBack, &context);
- CFNetServiceBrowserScheduleWithRunLoop(logger->bonjourDomainBrowser, runLoop, kCFRunLoopCommonModes);
- if (!CFNetServiceBrowserSearchForDomains(logger->bonjourDomainBrowser, false, NULL))
- {
- // An error occurred, revert to console logging if there is no remote host
- LOGGERDBG(CFSTR("*** Logger: could not browse for domains, reverting to console logging. ***"));
- CFNetServiceBrowserUnscheduleFromRunLoop(logger->bonjourDomainBrowser, runLoop, kCFRunLoopCommonModes);
- CFRelease(logger->bonjourDomainBrowser);
- logger->bonjourDomainBrowser = NULL;
- if (logger->host == NULL)
- logger->options |= kLoggerOption_LogToConsole;
- }
+ NSNetServiceBrowser *browser = [NSNetServiceBrowser new];
+ browser.delegate = [[FPLLoggerBonjourDelegate alloc] initWithLogger:logger];
+ [browser searchForBrowsableDomains];
+ logger->bonjourDomainBrowser = browser;
}
}
@@ -1421,10 +1518,9 @@ static void LoggerStopBonjourBrowsing(Logger *logger)
// stop browsing for domains
if (logger->bonjourDomainBrowser != NULL)
{
- CFNetServiceBrowserStopSearch(logger->bonjourDomainBrowser, NULL);
- CFNetServiceBrowserUnscheduleFromRunLoop(logger->bonjourDomainBrowser, CFRunLoopGetCurrent(), kCFRunLoopCommonModes);
- CFNetServiceBrowserInvalidate(logger->bonjourDomainBrowser);
- CFRelease(logger->bonjourDomainBrowser);
+ [logger->bonjourDomainBrowser stop];
+ [logger->bonjourDomainBrowser.delegate release];
+ [logger->bonjourDomainBrowser release];
logger->bonjourDomainBrowser = NULL;
}
@@ -1432,10 +1528,9 @@ static void LoggerStopBonjourBrowsing(Logger *logger)
CFIndex idx;
for (idx = 0; idx < CFArrayGetCount(logger->bonjourServiceBrowsers); idx++)
{
- CFNetServiceBrowserRef browser = (CFNetServiceBrowserRef)CFArrayGetValueAtIndex(logger->bonjourServiceBrowsers, idx);
- CFNetServiceBrowserStopSearch(browser, NULL);
- CFNetServiceBrowserUnscheduleFromRunLoop(browser, CFRunLoopGetCurrent(), kCFRunLoopCommonModes);
- CFNetServiceBrowserInvalidate(browser);
+ NSNetServiceBrowser *browser = CFArrayGetValueAtIndex(logger->bonjourServiceBrowsers, idx);
+ [browser stop];
+ [browser.delegate release];
}
CFArrayRemoveAllValues(logger->bonjourServiceBrowsers);
@@ -1443,15 +1538,12 @@ static void LoggerStopBonjourBrowsing(Logger *logger)
CFArrayRemoveAllValues(logger->bonjourServices);
}
-static BOOL LoggerBrowseBonjourForServices(Logger *logger, CFStringRef domainName)
+static void LoggerBrowseBonjourForServices(Logger *logger, CFStringRef domainName)
{
- BOOL result = NO;
- CFNetServiceClientContext context = {0, (void *)logger, NULL, NULL, NULL};
- CFRunLoopRef runLoop = CFRunLoopGetCurrent();
-
- CFNetServiceBrowserRef browser = CFNetServiceBrowserCreate(NULL, (CFNetServiceBrowserClientCallBack)&LoggerServiceBrowserCallBack, &context);
- CFNetServiceBrowserScheduleWithRunLoop(browser, runLoop, kCFRunLoopCommonModes);
- CFStreamError error;
+ NSNetServiceBrowser *browser;
+ browser = [NSNetServiceBrowser new];
+ browser.includesPeerToPeer = (logger->options & kLoggerOption_BrowsePeerToPeer) == kLoggerOption_BrowsePeerToPeer;
+ browser.delegate = [[FPLLoggerBonjourDelegate alloc] initWithLogger:logger];
// try to use the user-specfied service type if any, fallback on our
// default service type
@@ -1463,116 +1555,127 @@ static BOOL LoggerBrowseBonjourForServices(Logger *logger, CFStringRef domainNam
else
serviceType = LOGGER_SERVICE_TYPE;
}
- if (!CFNetServiceBrowserSearchForServices(browser, domainName, serviceType, &error))
- {
- LOGGERDBG(CFSTR("Logger can't start search on domain: %@ (error %d)"), domainName, error.error);
- CFNetServiceBrowserUnscheduleFromRunLoop(browser, runLoop, kCFRunLoopCommonModes);
- CFNetServiceBrowserInvalidate(browser);
- }
- else
- {
- LOGGERDBG(CFSTR("Logger started search for services of type %@ in domain %@"), serviceType, domainName);
- CFArrayAppendValue(logger->bonjourServiceBrowsers, browser);
- result = YES;
- }
- CFRelease(browser);
- return result;
+
+ [browser searchForServicesOfType:(__bridge NSString *)serviceType inDomain:(__bridge NSString *)domainName];
+ LOGGERDBG(CFSTR("Logger started search for services of type %@ in domain %@"), serviceType, domainName);
+ CFArrayAppendValue(logger->bonjourServiceBrowsers, browser);
+ [browser release];
}
-static void LoggerServiceBrowserCallBack (CFNetServiceBrowserRef browser,
- CFOptionFlags flags,
- CFTypeRef domainOrService,
- CFStreamError* error,
- void* info)
+static void LoggerConnectToService(Logger *logger, NSNetService *service)
{
-#pragma unused (browser)
-#pragma unused (error)
- LOGGERDBG(CFSTR("LoggerServiceBrowserCallback browser=%@ flags=0x%04x domainOrService=%@ error=%d"), browser, flags, domainOrService, error==NULL ? 0 : error->error);
-
- Logger *logger = (Logger *)info;
- assert(logger != NULL);
+ // a service has been found
+ LOGGERDBG(CFSTR("Logger found service: %@"), service);
+ if (service == NULL)
+ return;
- if (flags & kCFNetServiceFlagRemove)
- {
- if (!(flags & kCFNetServiceFlagIsDomain))
+ // if the user has specified that Logger shall only connect to the specified
+ // Bonjour service name, check it now. This makes things easier in a teamwork
+ // environment where multiple instances of NSLogger viewer may run on the
+ // same network
+ CFStringRef serviceName = (__bridge CFStringRef)service.name;
+ if (logger->bonjourServiceName != NULL)
+ {
+ LOGGERDBG(CFSTR("-> looking for services of name %@"), logger->bonjourServiceName);
+ if (serviceName == NULL || kCFCompareEqualTo != CFStringCompare(serviceName, logger->bonjourServiceName, kCFCompareCaseInsensitive | kCFCompareDiacriticInsensitive))
{
- CFNetServiceRef service = (CFNetServiceRef)domainOrService;
- CFIndex idx;
- for (idx = 0; idx < CFArrayGetCount(logger->bonjourServices); idx++)
- {
- if (CFArrayGetValueAtIndex(logger->bonjourServices, idx) == service)
- {
- CFNetServiceUnscheduleFromRunLoop(service, CFRunLoopGetCurrent(), kCFRunLoopCommonModes);
- CFNetServiceClientContext context = {0, NULL, NULL, NULL, NULL};
- CFNetServiceSetClient(service, NULL, &context);
- CFNetServiceCancel(service);
- CFArrayRemoveValueAtIndex(logger->bonjourServices, idx);
- break;
- }
- }
+ LOGGERDBG(CFSTR("-> service name %@ does not match requested service name, ignoring."), serviceName);
+ return;
}
}
else
{
- if (flags & kCFNetServiceFlagIsDomain)
+ // If the desktop viewer we found requested that only clients looking for its name can connect,
+ // honor the request and do not connect. This helps with teams having multiple devices and multiple
+ // desktops with NSLogger installed to avoid unwanted logs coming to a specific viewer
+ // To indicate that the desktop only wants clients that are looking for its specific name,
+ // the desktop sets the TXT record to be a dictionary containing the @"filterClients" key with value @"1"
+ CFDataRef txtData = (__bridge CFDataRef)service.TXTRecordData;
+ if (txtData != NULL)
{
- // start searching for services in this domain
- LoggerBrowseBonjourForServices(logger, (CFStringRef)domainOrService);
- }
- else
- {
- // a service has been found
- LOGGERDBG(CFSTR("Logger found service: %@"), domainOrService);
- CFNetServiceRef service = (CFNetServiceRef)domainOrService;
- if (service != NULL)
+ CFDictionaryRef txtDict = CFNetServiceCreateDictionaryWithTXTData(NULL, txtData);
+ if (txtDict != NULL)
{
- // if the user has specified that Logger shall only connect to the specified
- // Bonjour service name, check it now. This makes things easier in a teamwork
- // environment where multiple instances of NSLogger viewer may run on the
- // same network
- if (logger->bonjourServiceName != NULL)
- {
- LOGGERDBG(CFSTR("-> looking for services of name %@"), logger->bonjourServiceName);
- CFStringRef name = CFNetServiceGetName(service);
- if (name == NULL || kCFCompareEqualTo != CFStringCompare(name, logger->bonjourServiceName, kCFCompareCaseInsensitive | kCFCompareDiacriticInsensitive))
- {
- LOGGERDBG(CFSTR("-> service name %@ does not match requested service name, ignoring."), name, logger->bonjourServiceName);
- return;
- }
- }
- else
+ const void *value = CFDictionaryGetValue(txtDict, CFSTR("filterClients"));
+ Boolean mismatch = (value != NULL &&
+ CFGetTypeID((CFTypeRef)value) == CFStringGetTypeID() &&
+ CFStringCompare((CFStringRef)value, CFSTR("1"), 0) != kCFCompareEqualTo);
+ CFRelease(txtDict);
+ if (mismatch)
{
- // If the desktop viewer we found requested that only clients looking for its name can connect,
- // honor the request and do not connect. This helps with teams having multiple devices and multiple
- // desktops with NSLogger installed to avoid unwanted logs coming to a specific viewer
- // To indicate that the desktop only wants clients that are looking for its specific name,
- // the desktop sets the TXT record to be a dictionary containing the @"filterClients" key with value @"1"
- CFDataRef txtData = CFNetServiceGetTXTData(service);
- if (txtData != NULL)
- {
- CFDictionaryRef txtDict = CFNetServiceCreateDictionaryWithTXTData(NULL, txtData);
- if (txtDict != NULL)
- {
- const void *value = CFDictionaryGetValue(txtDict, CFSTR("filterClients"));
- Boolean mismatch = (value != NULL &&
- CFGetTypeID((CFTypeRef)value) == CFStringGetTypeID() &&
- CFStringCompare((CFStringRef)value, CFSTR("1"), 0) != kCFCompareEqualTo);
- CFRelease(txtDict);
- if (mismatch)
- {
- LOGGERDBG(CFSTR("-> service %@ requested that only clients looking for it do connect."), name, logger->bonjourServiceName);
- return;
- }
- }
- }
+ LOGGERDBG(CFSTR("-> service %@ requested that only clients looking for it do connect."), serviceName);
+ return;
}
- CFArrayAppendValue(logger->bonjourServices, service);
- LoggerTryConnect(logger);
}
}
}
+ CFArrayAppendValue(logger->bonjourServices, service);
+ LoggerTryConnect(logger);
}
+static void LoggerDisconnectFromService(Logger *logger, NSNetService *service)
+{
+ CFIndex idx = CFArrayGetFirstIndexOfValue(logger->bonjourServices, CFRangeMake(0, CFArrayGetCount(logger->bonjourServices)), service);
+ if (idx == -1)
+ return;
+
+ [service stop];
+
+ CFArrayRemoveValueAtIndex(logger->bonjourServices, idx);
+}
+
+@implementation FPLLoggerBonjourDelegate
+{
+ Logger *_logger;
+}
+
+- (instancetype)initWithLogger:(Logger *)logger;
+{
+ if (!(self = [super init]))
+ return nil;
+
+ _logger = logger;
+
+ return self;
+}
+
+- (void)netServiceBrowser:(NSNetServiceBrowser *)browser didNotSearch:(NSDictionary *)errorDict
+{
+ LOGGERDBG(CFSTR("netServiceBrowser:%@ didNotSearch:%@"), browser, errorDict);
+
+ if (browser == self->_logger->bonjourDomainBrowser)
+ {
+ // An error occurred, revert to console logging if there is no remote host
+ LOGGERDBG(CFSTR("*** Logger: could not browse for domains, reverting to console logging. ***"));
+ CFRelease(self->_logger->bonjourDomainBrowser);
+ self->_logger->bonjourDomainBrowser = NULL;
+ if (self->_logger->host == NULL)
+ self->_logger->options |= kLoggerOption_LogToConsole;
+ }
+ else if (self->_logger->host == NULL)
+ {
+ LOGGERDBG(CFSTR("*** Logger: could not browse for services, no remote host configured: reverting to console logging. ***"));
+ self->_logger->options |= kLoggerOption_LogToConsole;
+ }
+}
+
+- (void)netServiceBrowser:(NSNetServiceBrowser *)browser didFindDomain:(NSString *)domain moreComing:(BOOL)moreComing
+{
+ LoggerBrowseBonjourForServices(self->_logger, (__bridge CFStringRef)domain);
+}
+
+- (void)netServiceBrowser:(NSNetServiceBrowser *)browser didFindService:(NSNetService *)service moreComing:(BOOL)moreComing
+{
+ LoggerConnectToService(self->_logger, service);
+}
+
+- (void)netServiceBrowser:(NSNetServiceBrowser *)browser didRemoveService:(NSNetService *)service moreComing:(BOOL)moreComing
+{
+ LoggerDisconnectFromService(self->_logger, service);
+}
+
+@end
+
// -----------------------------------------------------------------------------
#pragma mark -
#pragma mark Reachability & Connectivity Management
@@ -1584,12 +1687,13 @@ static void LoggerRemoteSettingsChanged(Logger *logger)
// Always terminate any ongoing connection first
LoggerWriteStreamTerminated(logger);
+ LoggerStopBonjourBrowsing(logger);
+ LoggerStopReconnectTimer(logger);
+ LoggerStopReachabilityChecking(logger);
+
if (logger->host == NULL && !(logger->options & kLoggerOption_BrowseBonjour))
{
// developer doesn't want any network connection
- LoggerStopBonjourBrowsing(logger);
- LoggerStopReconnectTimer(logger);
- LoggerStopReachabilityChecking(logger);
}
else
{
@@ -1600,8 +1704,6 @@ static void LoggerRemoteSettingsChanged(Logger *logger)
{
if (logger->options & kLoggerOption_BrowseBonjour)
LoggerStartBonjourBrowsing(logger);
- else
- LoggerStopBonjourBrowsing(logger);
}
LoggerTryConnect(logger);
}
@@ -1611,6 +1713,12 @@ static void LoggerStartReachabilityChecking(Logger *logger)
{
if (logger->reachability == NULL)
{
+ // start reachability only when network will be required, which is at least one of:
+ // - Bonjour is being used
+ // - A target host has been specified
+ if (logger->host == NULL && !(logger->options & kLoggerOption_BrowseBonjour))
+ return;
+
if (logger->host != NULL)
{
// reachability targeted to the configured host
@@ -1627,7 +1735,7 @@ static void LoggerStartReachabilityChecking(Logger *logger)
else
{
// reachability for generic connection to the internet
- LOGGERDBG(CFSTR("Starting SCNetworkReachability to wait for internet to be reachable"), logger->host);
+ LOGGERDBG(CFSTR("Starting SCNetworkReachability to wait for internet to be reachable"));
struct sockaddr_in addr;
bzero(&addr, sizeof(addr));
addr.sin_len = (__uint8_t) sizeof(addr);
@@ -1792,19 +1900,12 @@ static BOOL LoggerConfigureAndOpenStream(Logger *logger)
// workaround for TLS in iOS 5 as per TN2287
// see http://developer.apple.com/library/ios/#technotes/tn2287/_index.html#//apple_ref/doc/uid/DTS40011309
// if we are running iOS 5 or later, use a special mode that allows the stack to downgrade gracefully
- #if ALLOW_COCOA_USE
@autoreleasepool {
NSString *versionString = [[UIDevice currentDevice] systemVersion];
if ([versionString compare:@"5.0" options:NSNumericSearch] != NSOrderedAscending)
SSLValues[0] = CFSTR("kCFStreamSocketSecurityLevelTLSv1_0SSLv3");
}
- #else
- // we can't find out, assume we _may_ be on iOS 5 but can't be certain
- // go for SSLv3 which works without the TLS 1.2 / 1.1 / 1.0 downgrade issue
- SSLValues[0] = kCFStreamSocketSecurityLevelSSLv3;
- #endif
#endif
-
CFDictionaryRef SSLDict = CFDictionaryCreate(NULL, SSLKeys, SSLValues, 4, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
CFWriteStreamSetProperty(logger->logStream, kCFStreamPropertySSLSettings, SSLDict);
CFRelease(SSLDict);
@@ -1856,9 +1957,11 @@ static void LoggerTryConnect(Logger *logger)
// If there are discovered Bonjour services, try them now
while (CFArrayGetCount(logger->bonjourServices))
{
- CFNetServiceRef service = (CFNetServiceRef)CFArrayGetValueAtIndex(logger->bonjourServices, 0);
+ NSNetService *service = CFArrayGetValueAtIndex(logger->bonjourServices, 0);
LOGGERDBG(CFSTR("-> Trying to open write stream to service %@"), service);
- CFStreamCreatePairWithSocketToNetService(NULL, service, NULL, &logger->logStream);
+ NSOutputStream *outputStream;
+ [service getInputStream:NULL outputStream:&outputStream];
+ logger->logStream = (CFWriteStreamRef)outputStream;
CFArrayRemoveValueAtIndex(logger->bonjourServices, 0);
if (logger->logStream == NULL)
{
@@ -2018,7 +2121,7 @@ static void LoggerWriteStreamCallback(CFWriteStreamRef ws, CFStreamEventType eve
CFIndex size = CFDataGetLength(encoder);
uint32_t oldSize = ntohl(*(uint32_t *)p);
uint32_t newSize = oldSize + requiredExtraBytes;
- if ((newSize + 4) > size)
+ if ((newSize + 4) > (uint32_t)size)
{
// grow by 64 bytes chunks
CFDataSetLength(encoder, (newSize + 4 + 64) & ~63);
@@ -2061,7 +2164,6 @@ static void LoggerMessageAddTimestampAndThreadID(CFMutableDataRef encoder)
LoggerMessageAddTimestamp(encoder);
BOOL hasThreadName = NO;
-#if ALLOW_COCOA_USE
// Getting the thread number is tedious, to say the least. Since there is
// no direct way to get it, we have to do it sideways. Note that it can be dangerous
// to use any Cocoa call when in a multithreaded application that only uses non-Cocoa threads
@@ -2087,24 +2189,48 @@ static void LoggerMessageAddTimestampAndThreadID(CFMutableDataRef encoder)
// optimize CPU use by computing the thread name once and storing it back
// in the thread dictionary
name = [thread description];
- NSRange range = [name rangeOfString:@"num = "];
+ NSArray *threadNumberPrefixes = @[@"num = ", @"number = "];
+ NSRange range = NSMakeRange(NSNotFound, 0);
+
+ for (NSString *threadNumberPrefix in threadNumberPrefixes)
+ {
+ range = [name rangeOfString:threadNumberPrefix];
+
+ if (range.location != NSNotFound)
+ break;
+ }
+
if (range.location != NSNotFound)
{
- name = [NSString stringWithFormat:@"Thread %@",
- [name substringWithRange:NSMakeRange(range.location + range.length,
- [name length] - range.location - range.length - 1)]];
+ // iOS and OS X now add a "name = (null)" when thread name unknown. Suppress it.
+ NSRange noNameRange = [name rangeOfString:@", name = (null)" options:(NSLiteralSearch | NSBackwardsSearch)];
+ if (noNameRange.location != NSNotFound)
+ {
+ name = [NSString stringWithFormat:@"Thread %@",
+ [name substringWithRange:NSMakeRange(range.location + range.length,
+ noNameRange.location - range.location - range.length)]];
+ }
+ else
+ {
+ name = [NSString stringWithFormat:@"Thread %@",
+ [name substringWithRange:NSMakeRange(range.location + range.length,
+ [name length] - range.location - range.length - 1)]];
+ }
[threadDict setObject:name forKey:@"__$NSLoggerThreadName$__"];
}
+ else
+ {
+ name = nil;
+ }
}
}
}
if (name != nil)
{
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)name, PART_KEY_THREAD_ID);
+ LoggerMessageAddString(encoder, (CFStringRef)name, PART_KEY_THREAD_ID);
hasThreadName = YES;
}
}
-#endif
if (!hasThreadName)
{
#if __LP64__
@@ -2312,21 +2438,20 @@ static void LoggerPushClientInfoToFrontOfQueue(Logger *logger)
if (name != NULL)
LoggerMessageAddString(encoder, name, PART_KEY_CLIENT_NAME);
-#if TARGET_OS_IPHONE && ALLOW_COCOA_USE
+#if TARGET_OS_IPHONE
if ([NSThread isMultiThreaded] || [NSThread isMainThread])
{
@autoreleasepool
{
UIDevice *device = [UIDevice currentDevice];
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.name, PART_KEY_UNIQUEID);
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.systemVersion, PART_KEY_OS_VERSION);
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.systemName, PART_KEY_OS_NAME);
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.model, PART_KEY_CLIENT_MODEL);
+ LoggerMessageAddString(encoder, (CFStringRef)device.name, PART_KEY_UNIQUEID);
+ LoggerMessageAddString(encoder, (CFStringRef)device.systemVersion, PART_KEY_OS_VERSION);
+ LoggerMessageAddString(encoder, (CFStringRef)device.systemName, PART_KEY_OS_NAME);
+ LoggerMessageAddString(encoder, (CFStringRef)device.model, PART_KEY_CLIENT_MODEL);
}
}
#elif TARGET_OS_MAC
CFStringRef osName = NULL, osVersion = NULL;
- #if ALLOW_COCOA_USE
// Read the OS version without using deprecated Gestalt calls
@autoreleasepool
{
@@ -2336,14 +2461,13 @@ static void LoggerPushClientInfoToFrontOfQueue(Logger *logger)
if ([versionString length])
{
osName = CFSTR("Mac OS X");
- osVersion = CFRetain((CAST_TO_CFSTRING)versionString);
+ osVersion = CFRetain((CFStringRef)versionString);
}
}
@catch (NSException *exc)
{
}
}
- #endif
if (osVersion == NULL)
{
// Not allowed to call into Cocoa ? use the Darwin version string
@@ -2456,7 +2580,7 @@ static void LogMessageRawTo_internal(Logger *logger,
{
LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE);
if (domain != nil && [domain length])
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG);
+ LoggerMessageAddString(encoder, (CFStringRef)domain, PART_KEY_TAG);
if (level)
LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL);
if (filename != NULL)
@@ -2466,7 +2590,7 @@ static void LogMessageRawTo_internal(Logger *logger,
if (functionName != NULL)
LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME);
if (message != nil)
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)message, PART_KEY_MESSAGE);
+ LoggerMessageAddString(encoder, (CFStringRef)message, PART_KEY_MESSAGE);
else
LoggerMessageAddString(encoder, CFSTR(""), PART_KEY_MESSAGE);
@@ -2501,7 +2625,7 @@ static void LogMessageTo_internal(Logger *logger,
{
LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE);
if (domain != nil && [domain length])
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG);
+ LoggerMessageAddString(encoder, (CFStringRef)domain, PART_KEY_TAG);
if (level)
LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL);
if (filename != NULL)
@@ -2511,22 +2635,12 @@ static void LogMessageTo_internal(Logger *logger,
if (functionName != NULL)
LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME);
-#if ALLOW_COCOA_USE
- // Go though NSString to avoid low-level logging of CF datastructures (i.e. too detailed NSDictionary, etc)
NSString *msgString = [[NSString alloc] initWithFormat:format arguments:args];
if (msgString != nil)
{
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)msgString, PART_KEY_MESSAGE);
- RELEASE(msgString);
+ LoggerMessageAddString(encoder, (CFStringRef)msgString, PART_KEY_MESSAGE);
+ [msgString release];
}
-#else
- CFStringRef msgString = CFStringCreateWithFormatAndArguments(NULL, NULL, (CFStringRef)format, args);
- if (msgString != NULL)
- {
- LoggerMessageAddString(encoder, msgString, PART_KEY_MESSAGE);
- CFRelease(msgString);
- }
-#endif
LoggerMessageFinalize(encoder);
LoggerPushMessageToQueue(logger, encoder);
@@ -2560,7 +2674,7 @@ static void LogImageTo_internal(Logger *logger,
{
LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE);
if (domain != nil && [domain length])
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG);
+ LoggerMessageAddString(encoder, (CFStringRef)domain, PART_KEY_TAG);
if (level)
LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL);
if (width && height)
@@ -2574,7 +2688,7 @@ static void LogImageTo_internal(Logger *logger,
LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER);
if (functionName != NULL)
LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME);
- LoggerMessageAddData(encoder, (CAST_TO_CFDATA)data, PART_KEY_MESSAGE, PART_TYPE_IMAGE);
+ LoggerMessageAddData(encoder, (CFDataRef)data, PART_KEY_MESSAGE, PART_TYPE_IMAGE);
LoggerMessageFinalize(encoder);
LoggerPushMessageToQueue(logger, encoder);
@@ -2605,7 +2719,7 @@ static void LogDataTo_internal(Logger *logger,
{
LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE);
if (domain != nil && [domain length])
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG);
+ LoggerMessageAddString(encoder, (CFStringRef)domain, PART_KEY_TAG);
if (level)
LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL);
if (filename != NULL)
@@ -2614,7 +2728,7 @@ static void LogDataTo_internal(Logger *logger,
LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER);
if (functionName != NULL)
LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME);
- LoggerMessageAddData(encoder, (CAST_TO_CFDATA)data, PART_KEY_MESSAGE, PART_TYPE_BINARY);
+ LoggerMessageAddData(encoder, (CFDataRef)data, PART_KEY_MESSAGE, PART_TYPE_BINARY);
LoggerMessageFinalize(encoder);
LoggerPushMessageToQueue(logger, encoder);
@@ -2641,7 +2755,7 @@ static void LogStartBlockTo_internal(Logger *logger, NSString *format, va_list a
LoggerMessageAddInt32(encoder, LOGMSG_TYPE_BLOCKSTART, PART_KEY_MESSAGE_TYPE);
if (format != nil)
{
- CFStringRef msgString = CFStringCreateWithFormatAndArguments(NULL, NULL, (CAST_TO_CFSTRING)format, args);
+ CFStringRef msgString = CFStringCreateWithFormatAndArguments(NULL, NULL, (CFStringRef)format, args);
if (msgString != NULL)
{
LoggerMessageAddString(encoder, msgString, PART_KEY_MESSAGE);
@@ -2847,7 +2961,7 @@ void LogMarkerTo(Logger *logger, NSString *text)
}
else
{
- LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)text, PART_KEY_MESSAGE);
+ LoggerMessageAddString(encoder, (CFStringRef)text, PART_KEY_MESSAGE);
}
LoggerMessageFinalize(encoder);
LoggerPushMessageToQueue(logger, encoder);
diff --git a/Pods/NSLogger/Client Logger/iOS/LoggerCommon.h b/Pods/NSLogger/Client Logger/iOS/LoggerCommon.h
index 29c762da..b6105ea8 100644
--- a/Pods/NSLogger/Client Logger/iOS/LoggerCommon.h
+++ b/Pods/NSLogger/Client Logger/iOS/LoggerCommon.h
@@ -1,7 +1,7 @@
/*
* LoggerCommon.h
*
- * version 1.5-RC2 22-NOV-2013
+ * version 1.7.0 23-MAY-2016
*
* Definitions common to NSLogger Viewer and NSLoggerClient
* for the binary messages format
@@ -9,7 +9,7 @@
*
* BSD license follows (http://www.opensource.org/licenses/bsd-license.php)
*
- * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved.
+ * Copyright (c) 2010-2016 Florent Pillet All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
diff --git a/Pods/NSLogger/Client Logger/iOS/NSLogger.h b/Pods/NSLogger/Client Logger/iOS/NSLogger.h
index 029aecf3..6f48a39d 100644
--- a/Pods/NSLogger/Client Logger/iOS/NSLogger.h
+++ b/Pods/NSLogger/Client Logger/iOS/NSLogger.h
@@ -1,14 +1,14 @@
/*
* NSLogger.h
*
- * version 1.5-RC2 22-NOV-2013
+ * version 1.7.0 23-MAY-2016
*
* Part of NSLogger (client side)
* https://github.com/fpillet/NSLogger
*
* BSD license follows (http://www.opensource.org/licenses/bsd-license.php)
*
- * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved.
+ * Copyright (c) 2010-2016 Florent Pillet All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
@@ -33,8 +33,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
-#import "LoggerClient.h"
+#import "LoggerClient.h"
// Log level usual usage:
diff --git a/Pods/NSLogger/README.markdown b/Pods/NSLogger/README.markdown
index e5f880fd..c29c75df 100644
--- a/Pods/NSLogger/README.markdown
+++ b/Pods/NSLogger/README.markdown
@@ -14,7 +14,7 @@
* Export logs to text files
* Open raw buffered traces files that you brought back from client applications not directly connected to the log viewer
-**You'll find instructions for use in the [NSLogger wiki](https://github.com/fpillet/NSLogger/wiki/).**
+**You'll find instructions for use in the [NSLogger wiki](https://github.com/fpillet/NSLogger/wiki).**
Your application emits traces using the *NSLogger* [trace APIs](https://github.com/fpillet/NSLogger/wiki/NSLogger-API). The desktop viewer application (running on **Mac OS X 10.6 or later**) displays them.
@@ -23,16 +23,36 @@ Clients automatically find the logger application running on Mac OS X via Bonjou
![Desktop Viewer (main window)](https://github.com/fpillet/NSLogger/raw/master/Screenshots/mainwindow.png "Desktop Viewer")
# CocoaPods Install #
-[CocoaPods](http://cocoapods.org) is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries like AFNetworking in your projects.
+[CocoaPods](https://cocoapods.org/) is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries like AFNetworking in your projects.
## Podfile ##
-If your project is configured to use [CocoaPods](http://cocoapods.org), just add this line to your Podfile:
+If your project is configured to use [CocoaPods](https://cocoapods.org/), just add this line to your Podfile:
```ruby
pod "NSLogger"
```
-Then download this pre-built version of the [NSLogger desktop viewer](https://www.dropbox.com/s/zt1eyfgymc9fbak/NSLogger-1.2.zip) for OS X.
+If you are using frameworks or libraries that may use NSLogger, then you can use the NoStrip variant which forces the linker to keep all NSLogger functions in the final build, even those that your code doesn't use. Since linked in frameworks may dynamically check for the presence of NSLogger functions, this is required as the linker wouldn't see this use.
+
+```ruby
+pod "NSLogger/NoStrip"
+```
+
+# Carthage #
+NSLogger is Carthage-compatible. To use it, add the following line to your `Cartfile`:
+
+```
+github "fpillet/NSLogger"
+```
+
+Then run:
+
+```shell
+$ carthage update
+```
+
+## Desktop Viewer ##
+Download the pre-built, signed version of the [NSLogger desktop viewer](https://github.com/fpillet/NSLogger/releases) for OS X.
## Adding logs to you app ##
A one stop-shopper header file is ``. By importing this header file, you'll be able to add traces to your code this way:
@@ -44,16 +64,16 @@ LoggerApp(1, @"Hello world! Today is: %@", [self myDate]);
## Starting the logger ##
The `NSLogger.h` will also allow you to start the logger at the begining of your code. To do so, just add the following line to your `main.m` file, at the beginning of your `main()` function:
-```objective-c
-LoggerStartForBuildUser();
+```objc
+LoggerStart(LoggerGetDefaultLogger());
```
In the Preferences of the NSLogger.app desktop viewer, go to the "Network" tab. Type your user name (i.e. $USER) in the "Bonjour service name" text field. This will allow the traces to be received only by the computer of the user who compiled the app (important for team work).
This only work when NSLogger has been added to your project using CocoaPods.
-# One-step setup #
-All you have to do is add `LoggerClient.h`, `LoggerClient.m` and `LoggerCommon.h` (as well as add the `CFNetwork.framework` and `SystemConfiguration.framework` frameworks) to your iOS or Mac OS X application, then replace your *NSLog()* calls with *LogMessageCompat()* calls. We recommend using a macro, so you can turn off logs when building the distribution version of your application.
+# Project setup #
+When using NSLogger without CocoaPods, add `LoggerClient.h`, `LoggerClient.m` and `LoggerCommon.h` (as well as add the `CFNetwork.framework` and `SystemConfiguration.framework` frameworks) to your iOS or Mac OS X application, then replace your *NSLog()* calls with *LogMessageCompat()* calls. We recommend using a macro, so you can turn off logs when building the distribution version of your application.
# Using the desktop logger #
Start the NSLogger application on Mac OS X. Your client app must run on a device that is on the same network as your Mac. When it starts logging traces, it will automatically (by default) look for the desktop NSLogger using Bonjour. As soon as traces start coming, a new window will open on your Mac. Advanced users can setup a Remote Host / Port to log from a client to a specific host).
@@ -73,8 +93,8 @@ The desktop viewer application provides tools like:
* Fast navigation in your logs
* Display and export all your logs as text
* Optional display of file, line and function for uncluttered display
-
-
+
+
Your logs can be saved to a `.nsloggerdata` file, and reloaded later. When logging to a file, name your log file with extension `.rawnsloggerdata` so NSLogger can reopen and process it. You can have clients remotely generating raw logger data files, then send them to you so you can investigate post-mortem.
Note that the NSLogger Mac OS X viewer requires **Mac OS X 10.6 or later**.
@@ -84,8 +104,6 @@ Note that the NSLogger Mac OS X viewer requires **Mac OS X 10.6 or later**.
# High performance, low overhead #
*NSLogger* runs in its own thread in your application. It tries hard to consume as few CPU and memory as possible. If the desktop viewer has not been found yet, your traces can be buffered in memory until a connection is acquired. This allows for tracing in difficult situations, for example device wakeup times when the network connection is not up and running.
-*NSLogger* can be used for low-level code in situations where only CoreFoundation can be called. Disable the **ALLOW_COCOA** flag in *LoggerClient.h* to prevent any use of Cocoa code.
-
# Advanced colors configuration #
Apply colors to tags and messages using regular expressions.
@@ -95,14 +113,13 @@ Apply colors to tags and messages using regular expressions.
This tool comes from a personal need for a more powerful logger. There are more features planned for inclusion, here is a quick list of what I'm thinking of. Requests and suggestions are welcome.
* Search and search term highlight in Details window
- * Rewrite of the details window
+ * Rewrite of the desktop viewer
* Support time-based filtering (filter clause based on the time lapse between a previous trace)
* Pause (buffer logs) and resume sending logs to the logger, in order to eliminate NSLogger's network load from the equation when testing networking code
-
You'll find documentation in the [NSLogger Wiki](https://github.com/fpillet/NSLogger/wiki/)
NSLogger uses parts of [Brandon Walkin's BWToolkit](http://www.brandonwalkin.com/bwtoolkit/), for which source code is included with NSLogger.
-NSLogger is Copyright (c) 2010-2013 Florent Pillet, All Rights Reserved, All Wrongs Revenged. Released under the [New BSD Licence](http://www.opensource.org/licenses/bsd-license.php).
-The NSLogger icon is Copyright (c) [Louis Harboe](http://www.graphicpeel.com)
+NSLogger is Copyright (c) 2010-2014 Florent Pillet, All Rights Reserved, All Wrongs Revenged. Released under the [New BSD Licence](http://opensource.org/licenses/bsd-license.php).
+The NSLogger icon is Copyright (c) [Louis Harboe](http://harboe.me/)
diff --git a/Pods/Pods-NSLogger-Private.xcconfig b/Pods/Pods-NSLogger-Private.xcconfig
deleted file mode 100644
index f2aa052c..00000000
--- a/Pods/Pods-NSLogger-Private.xcconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "Pods-NSLogger.xcconfig"
-GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 ${PODS_NSLOGGER_GCC_PREPROCESSOR_DEFINITIONS}
-HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/NSLogger" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/NSLogger"
-OTHER_LDFLAGS = -ObjC ${PODS_NSLOGGER_OTHER_LDFLAGS}
-PODS_ROOT = ${SRCROOT}
\ No newline at end of file
diff --git a/Pods/Pods-NSLogger-dummy.m b/Pods/Pods-NSLogger-dummy.m
deleted file mode 100644
index fa42e14f..00000000
--- a/Pods/Pods-NSLogger-dummy.m
+++ /dev/null
@@ -1,5 +0,0 @@
-#import
-@interface PodsDummy_Pods_NSLogger : NSObject
-@end
-@implementation PodsDummy_Pods_NSLogger
-@end
diff --git a/Pods/Pods-NSLogger.xcconfig b/Pods/Pods-NSLogger.xcconfig
deleted file mode 100644
index 35f0bfef..00000000
--- a/Pods/Pods-NSLogger.xcconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-PODS_NSLOGGER_GCC_PREPROCESSOR_DEFINITIONS = ${inherited} NSLOGGER_BUILD_USERNAME="${USER}"
-PODS_NSLOGGER_OTHER_LDFLAGS = -framework CFNetwork -framework SystemConfiguration
\ No newline at end of file
diff --git a/Pods/Pods-dummy.m b/Pods/Pods-dummy.m
deleted file mode 100644
index ade64bd1..00000000
--- a/Pods/Pods-dummy.m
+++ /dev/null
@@ -1,5 +0,0 @@
-#import
-@interface PodsDummy_Pods : NSObject
-@end
-@implementation PodsDummy_Pods
-@end
diff --git a/Pods/Pods-environment.h b/Pods/Pods-environment.h
deleted file mode 100644
index 08cbcf75..00000000
--- a/Pods/Pods-environment.h
+++ /dev/null
@@ -1,14 +0,0 @@
-
-// To check if a library is compiled with CocoaPods you
-// can use the `COCOAPODS` macro definition which is
-// defined in the xcconfigs so it is available in
-// headers also when they are imported in the client
-// project.
-
-
-// NSLogger
-#define COCOAPODS_POD_AVAILABLE_NSLogger
-#define COCOAPODS_VERSION_MAJOR_NSLogger 1
-#define COCOAPODS_VERSION_MINOR_NSLogger 2
-#define COCOAPODS_VERSION_PATCH_NSLogger 0
-
diff --git a/Pods/Pods-resources.sh b/Pods/Pods-resources.sh
deleted file mode 100755
index 39c2549a..00000000
--- a/Pods/Pods-resources.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-set -e
-
-RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
-> "$RESOURCES_TO_COPY"
-
-install_resource()
-{
- case $1 in
- *.storyboard)
- echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
- ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
- ;;
- *.xib)
- echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
- ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
- ;;
- *.framework)
- echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
- mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
- echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
- rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
- ;;
- *.xcdatamodel)
- echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\""
- xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom"
- ;;
- *.xcdatamodeld)
- echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\""
- xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd"
- ;;
- *.xcassets)
- ;;
- /*)
- echo "$1"
- echo "$1" >> "$RESOURCES_TO_COPY"
- ;;
- *)
- echo "${PODS_ROOT}/$1"
- echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY"
- ;;
- esac
-}
-
-rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
-if [[ "${ACTION}" == "install" ]]; then
- rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
-fi
-rm -f "$RESOURCES_TO_COPY"
-
-if [[ -n "${WRAPPER_EXTENSION}" ]] && [ `xcrun --find actool` ] && [ `find . -name '*.xcassets' | wc -l` -ne 0 ]
-then
- case "${TARGETED_DEVICE_FAMILY}" in
- 1,2)
- TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
- ;;
- 1)
- TARGET_DEVICE_ARGS="--target-device iphone"
- ;;
- 2)
- TARGET_DEVICE_ARGS="--target-device ipad"
- ;;
- *)
- TARGET_DEVICE_ARGS="--target-device mac"
- ;;
- esac
- find "${PWD}" -name "*.xcassets" -print0 | xargs -0 actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
-fi
diff --git a/Pods/Pods.xcconfig b/Pods/Pods.xcconfig
deleted file mode 100644
index f2064c0a..00000000
--- a/Pods/Pods.xcconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 ${inherited} NSLOGGER_BUILD_USERNAME="${USER}"
-HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/NSLogger"
-OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers" -isystem "${PODS_ROOT}/Headers/NSLogger"
-OTHER_LDFLAGS = -ObjC -framework CFNetwork -framework SystemConfiguration
-PODS_ROOT = ${SRCROOT}/Pods
\ No newline at end of file
diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj
index ee4feb3a..0698e254 100644
--- a/Pods/Pods.xcodeproj/project.pbxproj
+++ b/Pods/Pods.xcodeproj/project.pbxproj
@@ -1,1052 +1,481 @@
-
-
-
-
- archiveVersion
- 1
- classes
-
- objectVersion
- 46
- objects
-
- 0345663A92CF4F3F8D4956F1
-
- fileRef
- 880B3A1E967E44BF8B9981EA
- isa
- PBXBuildFile
-
- 041AB6950D8643259F6CCF42
-
- fileRef
- 0826990B9D9A4379988D5A64
- isa
- PBXBuildFile
-
- 0826990B9D9A4379988D5A64
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- SystemConfiguration.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/SystemConfiguration.framework
- sourceTree
- DEVELOPER_DIR
-
- 0F95B570380344B8BD8303F1
-
- buildActionMask
- 2147483647
- files
-
- 0345663A92CF4F3F8D4956F1
- B5309C75F489483AB086F786
- 26D1A894CB58437B9488F734
-
- isa
- PBXHeadersBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 104F7CB7BCF14E33B45BE662
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.xml
- path
- Pods-acknowledgements.plist
- sourceTree
- <group>
-
- 13EFF428C9A14134875E6DCA
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- LoggerCommon.h
- path
- Client Logger/iOS/LoggerCommon.h
- sourceTree
- <group>
-
- 1C2D99338A02488295779EB8
-
- buildConfigurations
-
- 46A8E0A5DDD2403CA34F1B76
- A4FCDD05882E4862BDBCDB69
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 1F04CEBFCB9941C1B157C08E
-
- baseConfigurationReference
- 86C9690B2DC24968B61B0057
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- COPY_PHASE_STRIP
- NO
- DSTROOT
- /tmp/xcodeproj.dst
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_DYNAMIC_NO_PIC
- NO
- GCC_OPTIMIZATION_LEVEL
- 0
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREPROCESSOR_DEFINITIONS
-
- DEBUG=1
- $(inherited)
-
- GCC_SYMBOLS_PRIVATE_EXTERN
- NO
- GCC_VERSION
- com.apple.compilers.llvm.clang.1_0
- INSTALL_PATH
- $(BUILT_PRODUCTS_DIR)
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- OTHER_LDFLAGS
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
- $(TARGET_NAME)
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 26D1A894CB58437B9488F734
-
- fileRef
- 33849874BFC04751BE88E502
- isa
- PBXBuildFile
-
- 27E292D6DD484E7E929118B5
-
- children
-
- 889F9631A7934ADD8410E583
-
- isa
- PBXGroup
- name
- Pods
- sourceTree
- <group>
-
- 295C887DF796429E81415AD4
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- LoggerClient.m
- path
- Client Logger/iOS/LoggerClient.m
- sourceTree
- <group>
-
- 29AC6E96BDA64F69A9387E77
-
- fileRef
- D3FBE270381942FD8E335C03
- isa
- PBXBuildFile
-
- 2BCCECB283454C6BB4D38158
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text
- name
- Podfile
- path
- ../Podfile
- sourceTree
- SOURCE_ROOT
- xcLanguageSpecificationIdentifier
- xcode.lang.ruby
-
- 2C981336588E4417BD2E208F
-
- buildActionMask
- 2147483647
- files
-
- A3A398A60B5944D69F1B1E49
- 29AC6E96BDA64F69A9387E77
- 041AB6950D8643259F6CCF42
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 2DC35F8FCAD640C5BF175D76
-
- fileRef
- DE8A681C9F95488BABBBD4D3
- isa
- PBXBuildFile
-
- 33849874BFC04751BE88E502
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- NSLogger.h
- path
- Client Logger/iOS/NSLogger.h
- sourceTree
- <group>
-
- 3CFDEDD0C9B041F6BE4A1E0D
-
- children
-
- 719AAD3F949E4C1492012B5C
- 5CC763CCD7C54029A0C3E066
-
- isa
- PBXGroup
- name
- Products
- sourceTree
- <group>
-
- 46A8E0A5DDD2403CA34F1B76
-
- baseConfigurationReference
- 7E1EB5C97C1342A9B5FDBF05
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- COPY_PHASE_STRIP
- NO
- DSTROOT
- /tmp/xcodeproj.dst
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_DYNAMIC_NO_PIC
- NO
- GCC_OPTIMIZATION_LEVEL
- 0
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- Pods-NSLogger-prefix.pch
- GCC_PREPROCESSOR_DEFINITIONS
-
- DEBUG=1
- $(inherited)
-
- GCC_SYMBOLS_PRIVATE_EXTERN
- NO
- GCC_VERSION
- com.apple.compilers.llvm.clang.1_0
- INSTALL_PATH
- $(BUILT_PRODUCTS_DIR)
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- OTHER_LDFLAGS
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
- $(TARGET_NAME)
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 4B2E7FCAF1994467B3D7803C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Pods-NSLogger.xcconfig
- sourceTree
- <group>
-
- 50DA7A8A030543DBA3520F72
-
- fileRef
- 5CC763CCD7C54029A0C3E066
- isa
- PBXBuildFile
-
- 534447AB5DB1425B83139EB6
-
- buildActionMask
- 2147483647
- files
-
- A9C86B3282A64EFF901E05CE
- 50DA7A8A030543DBA3520F72
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 54B2F7CD03844882A4063E5F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text
- path
- Pods-acknowledgements.markdown
- sourceTree
- <group>
-
- 55316065B31D4E72B46DFE5A
-
- children
-
- 86C9690B2DC24968B61B0057
- 54B2F7CD03844882A4063E5F
- 104F7CB7BCF14E33B45BE662
- DE8A681C9F95488BABBBD4D3
- 92177A04C8A84C92AD509188
- 6386E454BCAB4396BC19AAC0
-
- isa
- PBXGroup
- name
- Pods
- sourceTree
- <group>
-
- 566F51844AA945D6B323A1AA
-
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- CLANG_CXX_LANGUAGE_STANDARD
- gnu++0x
- CLANG_CXX_LIBRARY
- libc++
- CLANG_ENABLE_MODULES
- YES
- CLANG_ENABLE_OBJC_ARC
- NO
- CLANG_WARN_BOOL_CONVERSION
- YES
- CLANG_WARN_CONSTANT_CONVERSION
- YES
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE
- YES
- CLANG_WARN_EMPTY_BODY
- YES
- CLANG_WARN_ENUM_CONVERSION
- YES
- CLANG_WARN_INT_CONVERSION
- YES
- CLANG_WARN_OBJC_ROOT_CLASS
- YES
- COPY_PHASE_STRIP
- YES
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_DYNAMIC_NO_PIC
- NO
- GCC_OPTIMIZATION_LEVEL
- 0
- GCC_PREPROCESSOR_DEFINITIONS
-
- DEBUG=1
- $(inherited)
-
- GCC_SYMBOLS_PRIVATE_EXTERN
- NO
- GCC_WARN_64_TO_32_BIT_CONVERSION
- YES
- GCC_WARN_ABOUT_RETURN_TYPE
- YES
- GCC_WARN_UNDECLARED_SELECTOR
- YES
- GCC_WARN_UNINITIALIZED_AUTOS
- YES
- GCC_WARN_UNUSED_FUNCTION
- YES
- GCC_WARN_UNUSED_VARIABLE
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- ONLY_ACTIVE_ARCH
- YES
- STRIP_INSTALLED_PRODUCT
- NO
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 5AEF7D4ECF3048BC91E16EAA
-
- fileRef
- 295C887DF796429E81415AD4
- isa
- PBXBuildFile
-
- 5CC763CCD7C54029A0C3E066
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- libPods-NSLogger.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 605C02205ABA45AD933DB020
-
- children
-
- 2BCCECB283454C6BB4D38158
- 97E79205ACCA4503A573C4DD
- 27E292D6DD484E7E929118B5
- 3CFDEDD0C9B041F6BE4A1E0D
- 606B66774322416D9672E779
-
- isa
- PBXGroup
- sourceTree
- <group>
-
- 606B66774322416D9672E779
-
- children
-
- 55316065B31D4E72B46DFE5A
-
- isa
- PBXGroup
- name
- Targets Support Files
- sourceTree
- <group>
-
- 60EA8A45CD674710AD4C10F4
-
- attributes
-
- LastUpgradeCheck
- 0510
-
- buildConfigurationList
- D460BB9E74DC4164A39AD91C
- compatibilityVersion
- Xcode 3.2
- developmentRegion
- English
- hasScannedForEncodings
- 0
- isa
- PBXProject
- knownRegions
-
- en
-
- mainGroup
- 605C02205ABA45AD933DB020
- productRefGroup
- 3CFDEDD0C9B041F6BE4A1E0D
- projectDirPath
-
- projectReferences
-
- projectRoot
-
- targets
-
- 674DF10DDCBC485BA743C0D3
- 7D220297FD764E6599FD8C33
-
-
- 6386E454BCAB4396BC19AAC0
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.script.sh
- path
- Pods-resources.sh
- sourceTree
- <group>
-
- 674DF10DDCBC485BA743C0D3
-
- buildConfigurationList
- 70F3413BF69043C09D1FB29F
- buildPhases
-
- B2A861BF8E844EBFA7B24FE2
- 534447AB5DB1425B83139EB6
-
- buildRules
-
- dependencies
-
- 6AA29BC4CA734949B7D749A9
-
- isa
- PBXNativeTarget
- name
- Pods
- productName
- Pods
- productReference
- 719AAD3F949E4C1492012B5C
- productType
- com.apple.product-type.library.static
-
- 6AA29BC4CA734949B7D749A9
-
- isa
- PBXTargetDependency
- target
- 7D220297FD764E6599FD8C33
- targetProxy
- B9AA0492C8CE4EA3B7745EAB
-
- 6CD2BE84E7854E5397DAFED3
-
- fileRef
- CBA5EF65880A488292F3DCEA
- isa
- PBXBuildFile
-
- 70F3413BF69043C09D1FB29F
-
- buildConfigurations
-
- 1F04CEBFCB9941C1B157C08E
- 72F6ED72E82545068CDE884E
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 719AAD3F949E4C1492012B5C
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- libPods.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 72F6ED72E82545068CDE884E
-
- baseConfigurationReference
- 86C9690B2DC24968B61B0057
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- COPY_PHASE_STRIP
- YES
- DSTROOT
- /tmp/xcodeproj.dst
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_VERSION
- com.apple.compilers.llvm.clang.1_0
- INSTALL_PATH
- $(BUILT_PRODUCTS_DIR)
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- OTHER_CFLAGS
-
- -DNS_BLOCK_ASSERTIONS=1
- $(inherited)
-
- OTHER_CPLUSPLUSFLAGS
-
- -DNS_BLOCK_ASSERTIONS=1
- $(inherited)
-
- OTHER_LDFLAGS
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
- $(TARGET_NAME)
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
- VALIDATE_PRODUCT
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 7C0A09770B55495D9339B751
-
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- CLANG_CXX_LANGUAGE_STANDARD
- gnu++0x
- CLANG_CXX_LIBRARY
- libc++
- CLANG_ENABLE_MODULES
- YES
- CLANG_ENABLE_OBJC_ARC
- NO
- CLANG_WARN_BOOL_CONVERSION
- YES
- CLANG_WARN_CONSTANT_CONVERSION
- YES
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE
- YES
- CLANG_WARN_EMPTY_BODY
- YES
- CLANG_WARN_ENUM_CONVERSION
- YES
- CLANG_WARN_INT_CONVERSION
- YES
- CLANG_WARN_OBJC_ROOT_CLASS
- YES
- COPY_PHASE_STRIP
- NO
- ENABLE_NS_ASSERTIONS
- NO
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_WARN_64_TO_32_BIT_CONVERSION
- YES
- GCC_WARN_ABOUT_RETURN_TYPE
- YES
- GCC_WARN_UNDECLARED_SELECTOR
- YES
- GCC_WARN_UNINITIALIZED_AUTOS
- YES
- GCC_WARN_UNUSED_FUNCTION
- YES
- GCC_WARN_UNUSED_VARIABLE
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- STRIP_INSTALLED_PRODUCT
- NO
- VALIDATE_PRODUCT
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 7D220297FD764E6599FD8C33
-
- buildConfigurationList
- 1C2D99338A02488295779EB8
- buildPhases
-
- C93FE3A51DB44F0693E3CA83
- 2C981336588E4417BD2E208F
- 0F95B570380344B8BD8303F1
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- Pods-NSLogger
- productName
- Pods-NSLogger
- productReference
- 5CC763CCD7C54029A0C3E066
- productType
- com.apple.product-type.library.static
-
- 7E1EB5C97C1342A9B5FDBF05
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Pods-NSLogger-Private.xcconfig
- sourceTree
- <group>
-
- 86C9690B2DC24968B61B0057
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Pods.xcconfig
- sourceTree
- <group>
-
- 880B3A1E967E44BF8B9981EA
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- LoggerClient.h
- path
- Client Logger/iOS/LoggerClient.h
- sourceTree
- <group>
-
- 889F9631A7934ADD8410E583
-
- children
-
- 880B3A1E967E44BF8B9981EA
- 295C887DF796429E81415AD4
- 13EFF428C9A14134875E6DCA
- 33849874BFC04751BE88E502
- FF717D98DE284502A7442703
-
- isa
- PBXGroup
- name
- NSLogger
- path
- NSLogger
- sourceTree
- <group>
-
- 92177A04C8A84C92AD509188
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- Pods-environment.h
- sourceTree
- <group>
-
- 97E79205ACCA4503A573C4DD
-
- children
-
- B763F50436C34B77A6277677
-
- isa
- PBXGroup
- name
- Frameworks
- sourceTree
- <group>
-
- 9954137836964C7CBE56EAAA
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- Pods-NSLogger-prefix.pch
- sourceTree
- <group>
-
- A3A398A60B5944D69F1B1E49
-
- fileRef
- F2A9CC1BA524442F8C4C8731
- isa
- PBXBuildFile
-
- A4FCDD05882E4862BDBCDB69
-
- baseConfigurationReference
- 7E1EB5C97C1342A9B5FDBF05
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- COPY_PHASE_STRIP
- YES
- DSTROOT
- /tmp/xcodeproj.dst
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- Pods-NSLogger-prefix.pch
- GCC_VERSION
- com.apple.compilers.llvm.clang.1_0
- INSTALL_PATH
- $(BUILT_PRODUCTS_DIR)
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- OTHER_CFLAGS
-
- -DNS_BLOCK_ASSERTIONS=1
- $(inherited)
-
- OTHER_CPLUSPLUSFLAGS
-
- -DNS_BLOCK_ASSERTIONS=1
- $(inherited)
-
- OTHER_LDFLAGS
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
- $(TARGET_NAME)
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
- VALIDATE_PRODUCT
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- A9C86B3282A64EFF901E05CE
-
- fileRef
- D3FBE270381942FD8E335C03
- isa
- PBXBuildFile
-
- B2A861BF8E844EBFA7B24FE2
-
- buildActionMask
- 2147483647
- files
-
- 2DC35F8FCAD640C5BF175D76
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- B5309C75F489483AB086F786
-
- fileRef
- 13EFF428C9A14134875E6DCA
- isa
- PBXBuildFile
-
- B763F50436C34B77A6277677
-
- children
-
- F2A9CC1BA524442F8C4C8731
- D3FBE270381942FD8E335C03
- 0826990B9D9A4379988D5A64
-
- isa
- PBXGroup
- name
- iOS
- sourceTree
- <group>
-
- B9AA0492C8CE4EA3B7745EAB
-
- containerPortal
- 60EA8A45CD674710AD4C10F4
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 7D220297FD764E6599FD8C33
- remoteInfo
- Pods-NSLogger
-
- C93FE3A51DB44F0693E3CA83
-
- buildActionMask
- 2147483647
- files
-
- 5AEF7D4ECF3048BC91E16EAA
- 6CD2BE84E7854E5397DAFED3
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- CBA5EF65880A488292F3DCEA
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Pods-NSLogger-dummy.m
- sourceTree
- <group>
-
- D3FBE270381942FD8E335C03
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- Foundation.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework
- sourceTree
- DEVELOPER_DIR
-
- D460BB9E74DC4164A39AD91C
-
- buildConfigurations
-
- 566F51844AA945D6B323A1AA
- 7C0A09770B55495D9339B751
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- DE8A681C9F95488BABBBD4D3
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Pods-dummy.m
- sourceTree
- <group>
-
- F2A9CC1BA524442F8C4C8731
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- CFNetwork.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/CFNetwork.framework
- sourceTree
- DEVELOPER_DIR
-
- FF717D98DE284502A7442703
-
- children
-
- 4B2E7FCAF1994467B3D7803C
- 7E1EB5C97C1342A9B5FDBF05
- CBA5EF65880A488292F3DCEA
- 9954137836964C7CBE56EAAA
-
- isa
- PBXGroup
- name
- Support Files
- sourceTree
- SOURCE_ROOT
-
-
- rootObject
- 60EA8A45CD674710AD4C10F4
-
-
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 1E94336CD3F3F6CE361681D3359039EF /* LoggerClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 131F03E78E5EEB7C907277055B6719F7 /* LoggerClient.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
+ 37D25814E39BF725CC3CA42979CB5D38 /* LoggerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = ECCCA7B08402C29DC2BFBBC7B52C9263 /* LoggerClient.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 3DB0E33C630BEC894F296CDB73FFA12C /* Pods-KxMovieExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E8537D49B9545E719DFEAF57B8E927D2 /* Pods-KxMovieExample-dummy.m */; };
+ 5F82A83651C2057C8E5A3E56C9CFD7FF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0751A64C524AB0DE4B40B58729D13535 /* Foundation.framework */; };
+ 7C6EBBF2346CDB425603EB322A0B3F38 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03D608D09BE82FC13A425B6C55B2B3FA /* CFNetwork.framework */; };
+ C7270E8DDD192C30FD6D9DEC287E1A48 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB433FBC4A4EDBC81061E3E9B5C64361 /* SystemConfiguration.framework */; };
+ D6C5D2E97EEBC992828FED135754C806 /* LoggerCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F5A992D8E21D2041EFC7C867E5C2FFF /* LoggerCommon.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DA3B2E43E4DA4AAAA61985D38150B3DD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0751A64C524AB0DE4B40B58729D13535 /* Foundation.framework */; };
+ E0507FD47092D92EC463F7165A011463 /* NSLogger-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E987F034FA7917A65A8F06D21563BFFA /* NSLogger-dummy.m */; };
+ F03C44D0EE50BB5F2F850E663920815C /* NSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = C0D4E5F638C740C8558E9740B72DE36C /* NSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 96EEAC1CF60F9C030CD2EB10B6A14DC6 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 76F40396582DBB99FE1D3F04F1ED95D0;
+ remoteInfo = NSLogger;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 03D608D09BE82FC13A425B6C55B2B3FA /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; };
+ 0751A64C524AB0DE4B40B58729D13535 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
+ 095144568B8E90BB6E513AAAC5688F07 /* Pods-KxMovieExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KxMovieExample.debug.xcconfig"; sourceTree = ""; };
+ 131F03E78E5EEB7C907277055B6719F7 /* LoggerClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = LoggerClient.m; path = "Client Logger/iOS/LoggerClient.m"; sourceTree = ""; };
+ 1929ADBA4EF343AF669BC64F7A2C4061 /* libNSLogger.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libNSLogger.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 2333CF97B1BDC577FED9485143A9DCE7 /* NSLogger-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSLogger-prefix.pch"; sourceTree = ""; };
+ 30E78BF82B45A4F45E70B914BEAB40E3 /* Pods-KxMovieExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-KxMovieExample.release.xcconfig"; sourceTree = ""; };
+ 76814B141BFB94B3AAB4C54EE54E3449 /* NSLogger.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NSLogger.xcconfig; sourceTree = ""; };
+ 7BD025796FBAC19F043FD3B4B0135D18 /* Pods-KxMovieExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-KxMovieExample-acknowledgements.markdown"; sourceTree = ""; };
+ 7F7C705E37615DEF8332AF64204855C1 /* Pods-KxMovieExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-KxMovieExample-frameworks.sh"; sourceTree = ""; };
+ 8F5A992D8E21D2041EFC7C867E5C2FFF /* LoggerCommon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LoggerCommon.h; path = "Client Logger/iOS/LoggerCommon.h"; sourceTree = ""; };
+ 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+ 9B6E4636DA0BA3D3306E6AE58581D448 /* Pods-KxMovieExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-KxMovieExample-acknowledgements.plist"; sourceTree = ""; };
+ C0D4E5F638C740C8558E9740B72DE36C /* NSLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NSLogger.h; path = "Client Logger/iOS/NSLogger.h"; sourceTree = ""; };
+ DB433FBC4A4EDBC81061E3E9B5C64361 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
+ E8537D49B9545E719DFEAF57B8E927D2 /* Pods-KxMovieExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-KxMovieExample-dummy.m"; sourceTree = ""; };
+ E987F034FA7917A65A8F06D21563BFFA /* NSLogger-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSLogger-dummy.m"; sourceTree = ""; };
+ ECCCA7B08402C29DC2BFBBC7B52C9263 /* LoggerClient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LoggerClient.h; path = "Client Logger/iOS/LoggerClient.h"; sourceTree = ""; };
+ EE0D1FB7BC2DD938CDD717BDA3169829 /* Pods-KxMovieExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-KxMovieExample-resources.sh"; sourceTree = ""; };
+ EE53D4F365894DF9902C4C7F6DD3D168 /* libPods-KxMovieExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-KxMovieExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ CF295A900363976F58DFE3BC4F1291EE /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7C6EBBF2346CDB425603EB322A0B3F38 /* CFNetwork.framework in Frameworks */,
+ 5F82A83651C2057C8E5A3E56C9CFD7FF /* Foundation.framework in Frameworks */,
+ C7270E8DDD192C30FD6D9DEC287E1A48 /* SystemConfiguration.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ E7540A6C5DBEF76F5A5A11BCBEF10813 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DA3B2E43E4DA4AAAA61985D38150B3DD /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 122DA2E5084A4393C29BE363C764795C /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ F82F580C21B0E63B17DA520B6648F74E /* iOS */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 1EC2218B6D1A4C219B5CCB17ED727944 /* Pods-KxMovieExample */ = {
+ isa = PBXGroup;
+ children = (
+ 7BD025796FBAC19F043FD3B4B0135D18 /* Pods-KxMovieExample-acknowledgements.markdown */,
+ 9B6E4636DA0BA3D3306E6AE58581D448 /* Pods-KxMovieExample-acknowledgements.plist */,
+ E8537D49B9545E719DFEAF57B8E927D2 /* Pods-KxMovieExample-dummy.m */,
+ 7F7C705E37615DEF8332AF64204855C1 /* Pods-KxMovieExample-frameworks.sh */,
+ EE0D1FB7BC2DD938CDD717BDA3169829 /* Pods-KxMovieExample-resources.sh */,
+ 095144568B8E90BB6E513AAAC5688F07 /* Pods-KxMovieExample.debug.xcconfig */,
+ 30E78BF82B45A4F45E70B914BEAB40E3 /* Pods-KxMovieExample.release.xcconfig */,
+ );
+ name = "Pods-KxMovieExample";
+ path = "Target Support Files/Pods-KxMovieExample";
+ sourceTree = "";
+ };
+ 7DB346D0F39D3F0E887471402A8071AB = {
+ isa = PBXGroup;
+ children = (
+ 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */,
+ 122DA2E5084A4393C29BE363C764795C /* Frameworks */,
+ 9F5208F1E5613BDFA67AAE07CD8DC066 /* Pods */,
+ C0106973A85967282859C38D3AD2D507 /* Products */,
+ F1E5F7637C15393C942D5E7DC931496F /* Targets Support Files */,
+ );
+ sourceTree = "";
+ };
+ 867985E1B458BC6FFD4619BB26BE1306 /* Standard */ = {
+ isa = PBXGroup;
+ children = (
+ ECCCA7B08402C29DC2BFBBC7B52C9263 /* LoggerClient.h */,
+ 131F03E78E5EEB7C907277055B6719F7 /* LoggerClient.m */,
+ 8F5A992D8E21D2041EFC7C867E5C2FFF /* LoggerCommon.h */,
+ C0D4E5F638C740C8558E9740B72DE36C /* NSLogger.h */,
+ );
+ name = Standard;
+ sourceTree = "";
+ };
+ 9F5208F1E5613BDFA67AAE07CD8DC066 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ DBC09904E651891257FD642A7BDED77E /* NSLogger */,
+ );
+ name = Pods;
+ sourceTree = "";
+ };
+ C0106973A85967282859C38D3AD2D507 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 1929ADBA4EF343AF669BC64F7A2C4061 /* libNSLogger.a */,
+ EE53D4F365894DF9902C4C7F6DD3D168 /* libPods-KxMovieExample.a */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ DBC09904E651891257FD642A7BDED77E /* NSLogger */ = {
+ isa = PBXGroup;
+ children = (
+ 867985E1B458BC6FFD4619BB26BE1306 /* Standard */,
+ F0C5CAC184EEB9819B266EE5178B67F7 /* Support Files */,
+ );
+ path = NSLogger;
+ sourceTree = "";
+ };
+ F0C5CAC184EEB9819B266EE5178B67F7 /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 76814B141BFB94B3AAB4C54EE54E3449 /* NSLogger.xcconfig */,
+ E987F034FA7917A65A8F06D21563BFFA /* NSLogger-dummy.m */,
+ 2333CF97B1BDC577FED9485143A9DCE7 /* NSLogger-prefix.pch */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/NSLogger";
+ sourceTree = "";
+ };
+ F1E5F7637C15393C942D5E7DC931496F /* Targets Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 1EC2218B6D1A4C219B5CCB17ED727944 /* Pods-KxMovieExample */,
+ );
+ name = "Targets Support Files";
+ sourceTree = "";
+ };
+ F82F580C21B0E63B17DA520B6648F74E /* iOS */ = {
+ isa = PBXGroup;
+ children = (
+ 03D608D09BE82FC13A425B6C55B2B3FA /* CFNetwork.framework */,
+ 0751A64C524AB0DE4B40B58729D13535 /* Foundation.framework */,
+ DB433FBC4A4EDBC81061E3E9B5C64361 /* SystemConfiguration.framework */,
+ );
+ name = iOS;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ E3DBF01F27B267CEED12DA2F3E252D26 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 37D25814E39BF725CC3CA42979CB5D38 /* LoggerClient.h in Headers */,
+ D6C5D2E97EEBC992828FED135754C806 /* LoggerCommon.h in Headers */,
+ F03C44D0EE50BB5F2F850E663920815C /* NSLogger.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 759321A1920393377B7FA55944C74D45 /* Pods-KxMovieExample */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = E957822F99D44ED4281FDA16FA706C86 /* Build configuration list for PBXNativeTarget "Pods-KxMovieExample" */;
+ buildPhases = (
+ 339E4D3D16D2581B8759DF016C7E69A5 /* Sources */,
+ E7540A6C5DBEF76F5A5A11BCBEF10813 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ F07C70DC798AAA13F65AC4D499EFDAC4 /* PBXTargetDependency */,
+ );
+ name = "Pods-KxMovieExample";
+ productName = "Pods-KxMovieExample";
+ productReference = EE53D4F365894DF9902C4C7F6DD3D168 /* libPods-KxMovieExample.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+ 76F40396582DBB99FE1D3F04F1ED95D0 /* NSLogger */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = CC7F181FCD3F4AFBFEDF424957837C97 /* Build configuration list for PBXNativeTarget "NSLogger" */;
+ buildPhases = (
+ B938C8336E092510037EAE650702C011 /* Sources */,
+ CF295A900363976F58DFE3BC4F1291EE /* Frameworks */,
+ E3DBF01F27B267CEED12DA2F3E252D26 /* Headers */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = NSLogger;
+ productName = NSLogger;
+ productReference = 1929ADBA4EF343AF669BC64F7A2C4061 /* libNSLogger.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastSwiftUpdateCheck = 0730;
+ LastUpgradeCheck = 0700;
+ };
+ buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 7DB346D0F39D3F0E887471402A8071AB;
+ productRefGroup = C0106973A85967282859C38D3AD2D507 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 76F40396582DBB99FE1D3F04F1ED95D0 /* NSLogger */,
+ 759321A1920393377B7FA55944C74D45 /* Pods-KxMovieExample */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 339E4D3D16D2581B8759DF016C7E69A5 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3DB0E33C630BEC894F296CDB73FFA12C /* Pods-KxMovieExample-dummy.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ B938C8336E092510037EAE650702C011 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1E94336CD3F3F6CE361681D3359039EF /* LoggerClient.m in Sources */,
+ E0507FD47092D92EC463F7165A011463 /* NSLogger-dummy.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ F07C70DC798AAA13F65AC4D499EFDAC4 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = NSLogger;
+ target = 76F40396582DBB99FE1D3F04F1ED95D0 /* NSLogger */;
+ targetProxy = 96EEAC1CF60F9C030CD2EB10B6A14DC6 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 47BEF9D903506B003EA5C2B249729489 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = NO;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "POD_CONFIGURATION_DEBUG=1",
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ ONLY_ACTIVE_ARCH = YES;
+ STRIP_INSTALLED_PRODUCT = NO;
+ SYMROOT = "${SRCROOT}/../build";
+ };
+ name = Debug;
+ };
+ 48A98B565382226D295E1CF333C4F8B4 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 095144568B8E90BB6E513AAAC5688F07 /* Pods-KxMovieExample.debug.xcconfig */;
+ buildSettings = {
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MACH_O_TYPE = staticlib;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ OTHER_LDFLAGS = "";
+ OTHER_LIBTOOLFLAGS = "";
+ PODS_ROOT = "$(SRCROOT)";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ };
+ name = Debug;
+ };
+ 574BD413605C138BA3A27F408B45BC34 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 76814B141BFB94B3AAB4C54EE54E3449 /* NSLogger.xcconfig */;
+ buildSettings = {
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_PREFIX_HEADER = "Target Support Files/NSLogger/NSLogger-prefix.pch";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ OTHER_LDFLAGS = "";
+ OTHER_LIBTOOLFLAGS = "";
+ PRIVATE_HEADERS_FOLDER_PATH = "";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PUBLIC_HEADERS_FOLDER_PATH = "";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ };
+ name = Debug;
+ };
+ AAF678CED40D3499169D10F63CA0719E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ COPY_PHASE_STRIP = YES;
+ ENABLE_NS_ASSERTIONS = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "POD_CONFIGURATION_RELEASE=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ STRIP_INSTALLED_PRODUCT = NO;
+ SYMROOT = "${SRCROOT}/../build";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ F426CB876BE71C11F6299D5C8C849E37 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 30E78BF82B45A4F45E70B914BEAB40E3 /* Pods-KxMovieExample.release.xcconfig */;
+ buildSettings = {
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MACH_O_TYPE = staticlib;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ OTHER_LDFLAGS = "";
+ OTHER_LIBTOOLFLAGS = "";
+ PODS_ROOT = "$(SRCROOT)";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ };
+ name = Release;
+ };
+ FE359B87F510524E44C2A4B5DFF70D87 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 76814B141BFB94B3AAB4C54EE54E3449 /* NSLogger.xcconfig */;
+ buildSettings = {
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_PREFIX_HEADER = "Target Support Files/NSLogger/NSLogger-prefix.pch";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ OTHER_LDFLAGS = "";
+ OTHER_LIBTOOLFLAGS = "";
+ PRIVATE_HEADERS_FOLDER_PATH = "";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PUBLIC_HEADERS_FOLDER_PATH = "";
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = YES;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 47BEF9D903506B003EA5C2B249729489 /* Debug */,
+ AAF678CED40D3499169D10F63CA0719E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ CC7F181FCD3F4AFBFEDF424957837C97 /* Build configuration list for PBXNativeTarget "NSLogger" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 574BD413605C138BA3A27F408B45BC34 /* Debug */,
+ FE359B87F510524E44C2A4B5DFF70D87 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ E957822F99D44ED4281FDA16FA706C86 /* Build configuration list for PBXNativeTarget "Pods-KxMovieExample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 48A98B565382226D295E1CF333C4F8B4 /* Debug */,
+ F426CB876BE71C11F6299D5C8C849E37 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+}
diff --git a/Pods/Target Support Files/NSLogger/NSLogger-dummy.m b/Pods/Target Support Files/NSLogger/NSLogger-dummy.m
new file mode 100644
index 00000000..6cbaf3df
--- /dev/null
+++ b/Pods/Target Support Files/NSLogger/NSLogger-dummy.m
@@ -0,0 +1,5 @@
+#import
+@interface PodsDummy_NSLogger : NSObject
+@end
+@implementation PodsDummy_NSLogger
+@end
diff --git a/Pods/Pods-NSLogger-prefix.pch b/Pods/Target Support Files/NSLogger/NSLogger-prefix.pch
similarity index 62%
rename from Pods/Pods-NSLogger-prefix.pch
rename to Pods/Target Support Files/NSLogger/NSLogger-prefix.pch
index 95cf11d9..aa992a4a 100644
--- a/Pods/Pods-NSLogger-prefix.pch
+++ b/Pods/Target Support Files/NSLogger/NSLogger-prefix.pch
@@ -2,4 +2,3 @@
#import
#endif
-#import "Pods-environment.h"
diff --git a/Pods/Target Support Files/NSLogger/NSLogger.xcconfig b/Pods/Target Support Files/NSLogger/NSLogger.xcconfig
new file mode 100644
index 00000000..d898878a
--- /dev/null
+++ b/Pods/Target Support Files/NSLogger/NSLogger.xcconfig
@@ -0,0 +1,9 @@
+CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/NSLogger
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 ${inherited} NSLOGGER_WAS_HERE=1 NSLOGGER_BUILD_USERNAME="${USER}"
+HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/NSLogger" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/NSLogger"
+OTHER_LDFLAGS = -framework "CFNetwork" -framework "SystemConfiguration"
+PODS_BUILD_DIR = $BUILD_DIR
+PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_ROOT = ${SRCROOT}
+PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
+SKIP_INSTALL = YES
diff --git a/Pods/Pods-acknowledgements.markdown b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-acknowledgements.markdown
similarity index 97%
rename from Pods/Pods-acknowledgements.markdown
rename to Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-acknowledgements.markdown
index cb079b2f..72bff0f3 100644
--- a/Pods/Pods-acknowledgements.markdown
+++ b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-acknowledgements.markdown
@@ -27,4 +27,4 @@ AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-Generated by CocoaPods - http://cocoapods.org
+Generated by CocoaPods - https://cocoapods.org
diff --git a/Pods/Pods-acknowledgements.plist b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-acknowledgements.plist
similarity index 97%
rename from Pods/Pods-acknowledgements.plist
rename to Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-acknowledgements.plist
index 4023de7a..4250c53e 100644
--- a/Pods/Pods-acknowledgements.plist
+++ b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-acknowledgements.plist
@@ -45,7 +45,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FooterText
- Generated by CocoaPods - http://cocoapods.org
+ Generated by CocoaPods - https://cocoapods.org
Title
Type
diff --git a/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-dummy.m b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-dummy.m
new file mode 100644
index 00000000..6a4edcba
--- /dev/null
+++ b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-dummy.m
@@ -0,0 +1,5 @@
+#import
+@interface PodsDummy_Pods_KxMovieExample : NSObject
+@end
+@implementation PodsDummy_Pods_KxMovieExample
+@end
diff --git a/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-frameworks.sh b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-frameworks.sh
new file mode 100755
index 00000000..893c16a6
--- /dev/null
+++ b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-frameworks.sh
@@ -0,0 +1,84 @@
+#!/bin/sh
+set -e
+
+echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+
+SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
+
+install_framework()
+{
+ if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
+ local source="${BUILT_PRODUCTS_DIR}/$1"
+ elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
+ local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
+ elif [ -r "$1" ]; then
+ local source="$1"
+ fi
+
+ local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+
+ if [ -L "${source}" ]; then
+ echo "Symlinked..."
+ source="$(readlink "${source}")"
+ fi
+
+ # use filter instead of exclude so missing patterns dont' throw errors
+ echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
+ rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
+
+ local basename
+ basename="$(basename -s .framework "$1")"
+ binary="${destination}/${basename}.framework/${basename}"
+ if ! [ -r "$binary" ]; then
+ binary="${destination}/${basename}"
+ fi
+
+ # Strip invalid architectures so "fat" simulator / device frameworks work on device
+ if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
+ strip_invalid_archs "$binary"
+ fi
+
+ # Resign the code if required by the build settings to avoid unstable apps
+ code_sign_if_enabled "${destination}/$(basename "$1")"
+
+ # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
+ if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
+ local swift_runtime_libs
+ swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
+ for lib in $swift_runtime_libs; do
+ echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
+ rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
+ code_sign_if_enabled "${destination}/${lib}"
+ done
+ fi
+}
+
+# Signs a framework with the provided identity
+code_sign_if_enabled() {
+ if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
+ # Use the current code_sign_identitiy
+ echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
+ echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\""
+ /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1"
+ fi
+}
+
+# Strip invalid architectures
+strip_invalid_archs() {
+ binary="$1"
+ # Get architectures for current file
+ archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)"
+ stripped=""
+ for arch in $archs; do
+ if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then
+ # Strip non-valid architectures in-place
+ lipo -remove "$arch" -output "$binary" "$binary" || exit 1
+ stripped="$stripped $arch"
+ fi
+ done
+ if [[ "$stripped" ]]; then
+ echo "Stripped $binary of architectures:$stripped"
+ fi
+}
+
diff --git a/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-resources.sh b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-resources.sh
new file mode 100755
index 00000000..0a156152
--- /dev/null
+++ b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-resources.sh
@@ -0,0 +1,102 @@
+#!/bin/sh
+set -e
+
+mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
+
+RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
+> "$RESOURCES_TO_COPY"
+
+XCASSET_FILES=()
+
+case "${TARGETED_DEVICE_FAMILY}" in
+ 1,2)
+ TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
+ ;;
+ 1)
+ TARGET_DEVICE_ARGS="--target-device iphone"
+ ;;
+ 2)
+ TARGET_DEVICE_ARGS="--target-device ipad"
+ ;;
+ *)
+ TARGET_DEVICE_ARGS="--target-device mac"
+ ;;
+esac
+
+realpath() {
+ DIRECTORY="$(cd "${1%/*}" && pwd)"
+ FILENAME="${1##*/}"
+ echo "$DIRECTORY/$FILENAME"
+}
+
+install_resource()
+{
+ if [[ "$1" = /* ]] ; then
+ RESOURCE_PATH="$1"
+ else
+ RESOURCE_PATH="${PODS_ROOT}/$1"
+ fi
+ if [[ ! -e "$RESOURCE_PATH" ]] ; then
+ cat << EOM
+error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
+EOM
+ exit 1
+ fi
+ case $RESOURCE_PATH in
+ *.storyboard)
+ echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
+ ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
+ ;;
+ *.xib)
+ echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
+ ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
+ ;;
+ *.framework)
+ echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+ mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+ echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+ rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
+ ;;
+ *.xcdatamodel)
+ echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\""
+ xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
+ ;;
+ *.xcdatamodeld)
+ echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
+ xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
+ ;;
+ *.xcmappingmodel)
+ echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
+ xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
+ ;;
+ *.xcassets)
+ ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH")
+ XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
+ ;;
+ *)
+ echo "$RESOURCE_PATH"
+ echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
+ ;;
+ esac
+}
+
+mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
+rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
+if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
+ mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
+ rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
+fi
+rm -f "$RESOURCES_TO_COPY"
+
+if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
+then
+ # Find all other xcassets (this unfortunately includes those of path pods and other targets).
+ OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
+ while read line; do
+ if [[ $line != "`realpath $PODS_ROOT`*" ]]; then
+ XCASSET_FILES+=("$line")
+ fi
+ done <<<"$OTHER_XCASSETS"
+
+ printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
+fi
diff --git a/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample.debug.xcconfig b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample.debug.xcconfig
new file mode 100644
index 00000000..c1aaeedc
--- /dev/null
+++ b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample.debug.xcconfig
@@ -0,0 +1,8 @@
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 ${inherited} NSLOGGER_WAS_HERE=1 NSLOGGER_BUILD_USERNAME="${USER}"
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/NSLogger"
+LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/NSLogger"
+OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/NSLogger"
+OTHER_LDFLAGS = $(inherited) -ObjC -l"NSLogger" -framework "CFNetwork" -framework "SystemConfiguration"
+PODS_BUILD_DIR = $BUILD_DIR
+PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_ROOT = ${SRCROOT}/Pods
diff --git a/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample.release.xcconfig b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample.release.xcconfig
new file mode 100644
index 00000000..c1aaeedc
--- /dev/null
+++ b/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample.release.xcconfig
@@ -0,0 +1,8 @@
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 ${inherited} NSLOGGER_WAS_HERE=1 NSLOGGER_BUILD_USERNAME="${USER}"
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/NSLogger"
+LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/NSLogger"
+OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/NSLogger"
+OTHER_LDFLAGS = $(inherited) -ObjC -l"NSLogger" -framework "CFNetwork" -framework "SystemConfiguration"
+PODS_BUILD_DIR = $BUILD_DIR
+PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
+PODS_ROOT = ${SRCROOT}/Pods
diff --git a/Rakefile b/Rakefile
index ea4532f2..267e5617 100644
--- a/Rakefile
+++ b/Rakefile
@@ -10,16 +10,13 @@ end
## build ffmpeg
-SDK_VERSION='7.1'
+SDK_VERSION='10.0'
-XCODE_PATH='/Applications/Xcode.app/Contents/Developer/Platforms'
-GCC_PATH='/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang'
+GCC_PATH='`xcrun -f --sdk iphoneos clang`'
LIB_PATH='/usr/lib/system'
GASPREP_DEST_PATH='/usr/local/bin'
-PLATOFRM_PATH_SIM ='/iPhoneSimulator.platform'
-PLATOFRM_PATH_IOS ='/iPhoneOS.platform'
-SDK_PATH_SIM="/Developer/SDKs/iPhoneSimulator#{SDK_VERSION}.sdk"
-SDK_PATH_IOS="/Developer/SDKs/iPhoneOS#{SDK_VERSION}.sdk"
+SDK_PATH_SIM="`xcrun --sdk iphonesimulator --show-sdk-path`"
+SDK_PATH_IOS="`xcrun --sdk iphoneos --show-sdk-path`"
FFMPEG_BUILD_ARGS_SIM = [
@@ -27,8 +24,18 @@ FFMPEG_BUILD_ARGS_SIM = [
'--disable-mmx',
'--arch=i386',
'--cpu=i386',
-"--extra-ldflags='-arch i386 -miphoneos-version-min=6.0'",
-"--extra-cflags='-arch i386 -miphoneos-version-min=6.0'",
+"--extra-ldflags='-arch i386 -miphoneos-version-min=8.0'",
+"--extra-cflags='-arch i386 -miphoneos-version-min=8.0'",
+'--disable-asm',
+]
+
+FFMPEG_BUILD_ARGS_SIM64 = [
+'--assert-level=2',
+'--disable-mmx',
+'--arch=x86_64',
+'--cpu=x86_64',
+"--extra-ldflags='-arch x86_64 -miphoneos-version-min=7.1'",
+"--extra-cflags='-arch x86_64 -miphoneos-version-min=7.1'",
'--disable-asm',
]
@@ -36,8 +43,8 @@ FFMPEG_BUILD_ARGS_ARMV7 = [
'--arch=arm',
'--cpu=cortex-a8',
'--enable-pic',
-"--extra-cflags='-arch armv7 -miphoneos-version-min=6.0'",
-"--extra-ldflags='-arch armv7 -miphoneos-version-min=6.0'",
+"--extra-cflags='-arch armv7 -miphoneos-version-min=8.0'",
+"--extra-ldflags='-arch armv7 -miphoneos-version-min=8.0'",
"--extra-cflags='-mfpu=neon -mfloat-abi=softfp'",
'--enable-neon',
# '--disable-neon',
@@ -53,8 +60,8 @@ FFMPEG_BUILD_ARGS_ARMV7S = [
'--arch=arm',
'--cpu=cortex-a9',
'--enable-pic',
-"--extra-cflags='-arch armv7s -miphoneos-version-min=6.0'",
-"--extra-ldflags='-arch armv7s -miphoneos-version-min=6.0'",
+"--extra-cflags='-arch armv7s -miphoneos-version-min=8.0'",
+"--extra-ldflags='-arch armv7s -miphoneos-version-min=8.0'",
"--extra-cflags='-mfpu=neon -mfloat-abi=softfp'",
'--enable-neon',
# '--disable-neon',
@@ -70,8 +77,8 @@ FFMPEG_BUILD_ARGS_ARM64 = [
'--arch=arm64',
# '--cpu=cortex-a9',
'--enable-pic',
-"--extra-cflags='-arch arm64 -miphoneos-version-min=6.0'",
-"--extra-ldflags='-arch arm64 -miphoneos-version-min=6.0'",
+"--extra-cflags='-arch arm64 -miphoneos-version-min=8.0'",
+"--extra-ldflags='-arch arm64 -miphoneos-version-min=8.0'",
"--extra-cflags='-mfpu=neon -mfloat-abi=softfp'",
'--enable-neon',
# '--disable-neon',
@@ -105,11 +112,11 @@ FFMPEG_LIBS = [
'libswresample',
]
-def mkArgs(platformPath, sdkPath, platformArgs)
+def mkArgs(sdkPath, platformArgs)
cc = '--cc=' + GCC_PATH
as = ""
- sysroot = '--sysroot=' + XCODE_PATH + platformPath + sdkPath
+ sysroot = '--sysroot=' + sdkPath
# extra = '--extra-ldflags=-L' + XCODE_PATH + platformPath + sdkPath + LIB_PATH
extra = ""
args = FFMPEG_BUILD_ARGS + platformArgs
@@ -143,13 +150,15 @@ def buildArch(arch)
case arch
when 'i386'
- args = mkArgs(PLATOFRM_PATH_SIM, SDK_PATH_SIM, FFMPEG_BUILD_ARGS_SIM)
+ args = mkArgs(SDK_PATH_SIM, FFMPEG_BUILD_ARGS_SIM)
+ when 'x86_64'
+ args = mkArgs(SDK_PATH_SIM, FFMPEG_BUILD_ARGS_SIM64)
when 'armv7'
- args = mkArgs(PLATOFRM_PATH_IOS, SDK_PATH_IOS, FFMPEG_BUILD_ARGS_ARMV7)
+ args = mkArgs(SDK_PATH_IOS, FFMPEG_BUILD_ARGS_ARMV7)
when 'armv7s'
- args = mkArgs(PLATOFRM_PATH_IOS, SDK_PATH_IOS, FFMPEG_BUILD_ARGS_ARMV7S)
+ args = mkArgs(SDK_PATH_IOS, FFMPEG_BUILD_ARGS_ARMV7S)
when 'arm64'
- args = mkArgs(PLATOFRM_PATH_IOS, SDK_PATH_IOS, FFMPEG_BUILD_ARGS_ARM64)
+ args = mkArgs(SDK_PATH_IOS, FFMPEG_BUILD_ARGS_ARM64)
else
raise "Build failed: unknown arch: #{arch}"
end
@@ -164,7 +173,7 @@ def buildArch(arch)
end
def mkLipoArgs(lib)
- "-create -arch armv7 armv7/#{lib}.a -arch armv7 armv7s/#{lib}.a -arch arm64 arm64/#{lib}.a -arch i386 i386/#{lib}.a -output universal/#{lib}.a"
+ "-create -arch armv7 armv7/#{lib}.a -arch armv7 armv7s/#{lib}.a -arch arm64 arm64/#{lib}.a -arch i386 i386/#{lib}.a -arch x86_64 x86_64/#{lib}.a -output universal/#{lib}.a"
end
desc "check gas-preprocessor.pl"
@@ -197,11 +206,16 @@ task :clean_ffmpeg do
system_or_exit "cd FFmpeg; [ -f -.d ] && rm -- -.d; make clean"
end
-desc "Build ffmpeg i386 libs"
+desc "Build ffmpeg i386 (simulator) libs"
task :build_ffmpeg_i386 do
buildArch('i386')
end
+desc "Build ffmpeg x86_64 (simulator) libs"
+task :build_ffmpeg_x86_64 do
+ buildArch('x86_64')
+end
+
desc "Build ffmpeg armv7 libs"
task :build_ffmpeg_armv7 do
buildArch('armv7')
@@ -294,7 +308,7 @@ end
##
task :clean => [:clean_movie_debug, :clean_movie_release, :clean_ffmpeg]
-task :build_ffmpeg => [:check_gas_preprocessor, :build_ffmpeg_armv7, :build_ffmpeg_armv7s, :build_ffmpeg_arm64, :build_ffmpeg_i386, :build_ffmpeg_universal]
+task :build_ffmpeg => [:check_gas_preprocessor, :build_ffmpeg_armv7, :build_ffmpeg_armv7s, :build_ffmpeg_arm64, :build_ffmpeg_i386, :build_ffmpeg_x86_64, :build_ffmpeg_universal]
#task :build_movie => [:build_movie_debug, :copy_movie]
task :build_movie => [:build_movie_release, :copy_movie]
task :build_all => [:build_ffmpeg, :build_movie]
diff --git a/kxmovie.xcodeproj/project.pbxproj b/kxmovie.xcodeproj/project.pbxproj
index 5e353aca..3e08fdb2 100644
--- a/kxmovie.xcodeproj/project.pbxproj
+++ b/kxmovie.xcodeproj/project.pbxproj
@@ -7,10 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
- 8704657C16F6ECA000D4083E /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 8704657A16F6EC9100D4083E /* libiconv.dylib */; };
- 87E793FD16390F6D000A0848 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E793FC16390F6D000A0848 /* UIKit.framework */; };
- 87E793FF16390F6D000A0848 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E793FE16390F6D000A0848 /* Foundation.framework */; };
- 87E7940116390F6D000A0848 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7940016390F6D000A0848 /* CoreGraphics.framework */; };
+ 3681CDF14384D92A731281C2 /* libPods-KxMovieExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 73B24808B53B1277778EE5C8 /* libPods-KxMovieExample.a */; };
87E7940916390F6D000A0848 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 87E7940816390F6D000A0848 /* main.m */; };
87E7940F16390F6D000A0848 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 87E7940E16390F6D000A0848 /* Default.png */; };
87E7941116390F6D000A0848 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 87E7941016390F6D000A0848 /* Default@2x.png */; };
@@ -22,31 +19,26 @@
87E7942A1639107F000A0848 /* KxMovieViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87E794251639107F000A0848 /* KxMovieViewController.m */; };
87E7942F1639108E000A0848 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 87E7942C1639108E000A0848 /* AppDelegate.m */; };
87E794301639108E000A0848 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87E7942E1639108E000A0848 /* MainViewController.m */; };
- 87E7943F1639110F000A0848 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7943D163910FB000A0848 /* CoreAudio.framework */; };
- 87E794401639110F000A0848 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7943B163910F6000A0848 /* AudioToolbox.framework */; };
- 87E794411639110F000A0848 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E79439163910EA000A0848 /* Accelerate.framework */; };
- 87E794421639110F000A0848 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E79437163910D0000A0848 /* QuartzCore.framework */; };
- 87E794431639110F000A0848 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E79435163910CA000A0848 /* OpenGLES.framework */; };
- 87E7944A16391B9E000A0848 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7944416391B9E000A0848 /* libavcodec.a */; };
- 87E7944C16391B9E000A0848 /* libavformat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7944616391B9E000A0848 /* libavformat.a */; };
- 87E7944D16391B9E000A0848 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7944716391B9E000A0848 /* libavutil.a */; };
- 87E7944E16391B9E000A0848 /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7944816391B9E000A0848 /* libswresample.a */; };
- 87E7944F16391B9E000A0848 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7944916391B9E000A0848 /* libswscale.a */; };
- 87E7945116391BC1000A0848 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7945016391BC1000A0848 /* libz.dylib */; };
- 87E7945416391BDC000A0848 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7945216391BD2000A0848 /* MediaPlayer.framework */; };
- 87FD6176163A75440090956E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E793FE16390F6D000A0848 /* Foundation.framework */; };
87FD6182163A75AF0090956E /* KxAudioManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 87E7941E1639107F000A0848 /* KxAudioManager.m */; };
87FD6183163A75B10090956E /* KxMovieDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 87E794211639107F000A0848 /* KxMovieDecoder.m */; };
87FD6184163A75B50090956E /* KxMovieGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 87E794231639107F000A0848 /* KxMovieGLView.m */; };
87FD6185163A75B70090956E /* KxMovieViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87E794251639107F000A0848 /* KxMovieViewController.m */; };
- 87FD618D163A75CF0090956E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7940016390F6D000A0848 /* CoreGraphics.framework */; };
- 87FD618E163A75D20090956E /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7945216391BD2000A0848 /* MediaPlayer.framework */; };
- 87FD618F163A75D60090956E /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7943D163910FB000A0848 /* CoreAudio.framework */; };
- 87FD6190163A75D90090956E /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E7943B163910F6000A0848 /* AudioToolbox.framework */; };
- 87FD6191163A75DC0090956E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E79437163910D0000A0848 /* QuartzCore.framework */; };
- 87FD6192163A75DF0090956E /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E79439163910EA000A0848 /* Accelerate.framework */; };
- 87FD6193163A75E10090956E /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87E79435163910CA000A0848 /* OpenGLES.framework */; };
- FD20733F5D6A4546A9836E2D /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 49D953B9D2DC48FBB580C6AC /* libPods.a */; };
+ C2E6CE401DB85D65006C75DF /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE3B1DB85D65006C75DF /* libavcodec.a */; };
+ C2E6CE411DB85D65006C75DF /* libavformat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE3C1DB85D65006C75DF /* libavformat.a */; };
+ C2E6CE421DB85D65006C75DF /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE3D1DB85D65006C75DF /* libavutil.a */; };
+ C2E6CE431DB85D65006C75DF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE3E1DB85D65006C75DF /* libswresample.a */; };
+ C2E6CE441DB85D65006C75DF /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE3F1DB85D65006C75DF /* libswscale.a */; };
+ C2E6CE461DB85D9A006C75DF /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE451DB85D9A006C75DF /* libiconv.tbd */; };
+ C2E6CE481DB85DBA006C75DF /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE471DB85DBA006C75DF /* libz.tbd */; };
+ C2E6CE4A1DB85DC6006C75DF /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE491DB85DC6006C75DF /* UIKit.framework */; };
+ C2E6CE4C1DB85DD8006C75DF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE4B1DB85DD7006C75DF /* Foundation.framework */; };
+ C2E6CE4E1DB85DE1006C75DF /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE4D1DB85DE1006C75DF /* CoreGraphics.framework */; };
+ C2E6CE501DB85DF3006C75DF /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE4F1DB85DF3006C75DF /* MediaPlayer.framework */; };
+ C2E6CE521DB85E02006C75DF /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE511DB85E02006C75DF /* CoreAudio.framework */; };
+ C2E6CE541DB85E10006C75DF /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE531DB85E10006C75DF /* AudioToolbox.framework */; };
+ C2E6CE561DB85E19006C75DF /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE551DB85E19006C75DF /* Accelerate.framework */; };
+ C2E6CE581DB85E22006C75DF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE571DB85E22006C75DF /* QuartzCore.framework */; };
+ C2E6CE5A1DB85E3B006C75DF /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E6CE591DB85E3B006C75DF /* OpenGLES.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -62,15 +54,12 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 07D459C0599C42B1906B39AD /* Pods.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.xcconfig; path = Pods/Pods.xcconfig; sourceTree = ""; };
- 49D953B9D2DC48FBB580C6AC /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 134A8EAD792611B9BF80D86A /* Pods-KxMovieExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-KxMovieExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample.debug.xcconfig"; sourceTree = ""; };
4E6AB9BC191288370010CAA1 /* kxmovie-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "kxmovie-Prefix.pch"; sourceTree = ""; };
4E6AB9BD19128FDA0010CAA1 /* KxLogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KxLogger.h; sourceTree = ""; };
- 8704657A16F6EC9100D4083E /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/libiconv.dylib; sourceTree = DEVELOPER_DIR; };
+ 73B24808B53B1277778EE5C8 /* libPods-KxMovieExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-KxMovieExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 840557329B14C6779110D440 /* Pods-KxMovieExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-KxMovieExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample.release.xcconfig"; sourceTree = ""; };
87E793F816390F6D000A0848 /* KxMovieExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KxMovieExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 87E793FC16390F6D000A0848 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
- 87E793FE16390F6D000A0848 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
- 87E7940016390F6D000A0848 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
87E7940416390F6D000A0848 /* KxMovieExample-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "KxMovieExample-Info.plist"; sourceTree = ""; };
87E7940816390F6D000A0848 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
87E7940A16390F6D000A0848 /* KxMovieExample-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "KxMovieExample-Prefix.pch"; sourceTree = ""; };
@@ -89,20 +78,24 @@
87E7942C1639108E000A0848 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
87E7942D1639108E000A0848 /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = ""; };
87E7942E1639108E000A0848 /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = ""; };
- 87E79435163910CA000A0848 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/OpenGLES.framework; sourceTree = DEVELOPER_DIR; };
- 87E79437163910D0000A0848 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
- 87E79439163910EA000A0848 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; };
- 87E7943B163910F6000A0848 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/AudioToolbox.framework; sourceTree = DEVELOPER_DIR; };
- 87E7943D163910FB000A0848 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/CoreAudio.framework; sourceTree = DEVELOPER_DIR; };
- 87E7944416391B9E000A0848 /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = libs/libavcodec.a; sourceTree = ""; };
- 87E7944616391B9E000A0848 /* libavformat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavformat.a; path = libs/libavformat.a; sourceTree = ""; };
- 87E7944716391B9E000A0848 /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = libs/libavutil.a; sourceTree = ""; };
- 87E7944816391B9E000A0848 /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswresample.a; path = libs/libswresample.a; sourceTree = ""; };
- 87E7944916391B9E000A0848 /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswscale.a; path = libs/libswscale.a; sourceTree = ""; };
- 87E7945016391BC1000A0848 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
- 87E7945216391BD2000A0848 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/MediaPlayer.framework; sourceTree = DEVELOPER_DIR; };
87E7946116394577000A0848 /* KxAudioManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KxAudioManager.h; sourceTree = ""; };
87FD6175163A75440090956E /* libkxmovie.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libkxmovie.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ C2E6CE3B1DB85D65006C75DF /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavcodec.a; sourceTree = ""; };
+ C2E6CE3C1DB85D65006C75DF /* libavformat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavformat.a; sourceTree = ""; };
+ C2E6CE3D1DB85D65006C75DF /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavutil.a; sourceTree = ""; };
+ C2E6CE3E1DB85D65006C75DF /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libswresample.a; sourceTree = ""; };
+ C2E6CE3F1DB85D65006C75DF /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libswscale.a; sourceTree = ""; };
+ C2E6CE451DB85D9A006C75DF /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/usr/lib/libiconv.tbd; sourceTree = DEVELOPER_DIR; };
+ C2E6CE471DB85DBA006C75DF /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/usr/lib/libz.tbd; sourceTree = DEVELOPER_DIR; };
+ C2E6CE491DB85DC6006C75DF /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
+ C2E6CE4B1DB85DD7006C75DF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
+ C2E6CE4D1DB85DE1006C75DF /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
+ C2E6CE4F1DB85DF3006C75DF /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/MediaPlayer.framework; sourceTree = DEVELOPER_DIR; };
+ C2E6CE511DB85E02006C75DF /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/CoreAudio.framework; sourceTree = DEVELOPER_DIR; };
+ C2E6CE531DB85E10006C75DF /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/AudioToolbox.framework; sourceTree = DEVELOPER_DIR; };
+ C2E6CE551DB85E19006C75DF /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; };
+ C2E6CE571DB85E22006C75DF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
+ C2E6CE591DB85E3B006C75DF /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/OpenGLES.framework; sourceTree = DEVELOPER_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -110,23 +103,23 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 8704657C16F6ECA000D4083E /* libiconv.dylib in Frameworks */,
- 87E7945116391BC1000A0848 /* libz.dylib in Frameworks */,
- 87E7944A16391B9E000A0848 /* libavcodec.a in Frameworks */,
- 87E7944C16391B9E000A0848 /* libavformat.a in Frameworks */,
- 87E7944D16391B9E000A0848 /* libavutil.a in Frameworks */,
- 87E7944E16391B9E000A0848 /* libswresample.a in Frameworks */,
- 87E7944F16391B9E000A0848 /* libswscale.a in Frameworks */,
- 87E793FD16390F6D000A0848 /* UIKit.framework in Frameworks */,
- 87E793FF16390F6D000A0848 /* Foundation.framework in Frameworks */,
- 87E7940116390F6D000A0848 /* CoreGraphics.framework in Frameworks */,
- 87E7945416391BDC000A0848 /* MediaPlayer.framework in Frameworks */,
- 87E7943F1639110F000A0848 /* CoreAudio.framework in Frameworks */,
- 87E794401639110F000A0848 /* AudioToolbox.framework in Frameworks */,
- 87E794411639110F000A0848 /* Accelerate.framework in Frameworks */,
- 87E794421639110F000A0848 /* QuartzCore.framework in Frameworks */,
- 87E794431639110F000A0848 /* OpenGLES.framework in Frameworks */,
- FD20733F5D6A4546A9836E2D /* libPods.a in Frameworks */,
+ C2E6CE5A1DB85E3B006C75DF /* OpenGLES.framework in Frameworks */,
+ C2E6CE581DB85E22006C75DF /* QuartzCore.framework in Frameworks */,
+ C2E6CE561DB85E19006C75DF /* Accelerate.framework in Frameworks */,
+ C2E6CE541DB85E10006C75DF /* AudioToolbox.framework in Frameworks */,
+ C2E6CE521DB85E02006C75DF /* CoreAudio.framework in Frameworks */,
+ C2E6CE501DB85DF3006C75DF /* MediaPlayer.framework in Frameworks */,
+ C2E6CE4E1DB85DE1006C75DF /* CoreGraphics.framework in Frameworks */,
+ C2E6CE4C1DB85DD8006C75DF /* Foundation.framework in Frameworks */,
+ C2E6CE4A1DB85DC6006C75DF /* UIKit.framework in Frameworks */,
+ C2E6CE481DB85DBA006C75DF /* libz.tbd in Frameworks */,
+ C2E6CE461DB85D9A006C75DF /* libiconv.tbd in Frameworks */,
+ C2E6CE441DB85D65006C75DF /* libswscale.a in Frameworks */,
+ C2E6CE411DB85D65006C75DF /* libavformat.a in Frameworks */,
+ C2E6CE421DB85D65006C75DF /* libavutil.a in Frameworks */,
+ C2E6CE431DB85D65006C75DF /* libswresample.a in Frameworks */,
+ C2E6CE401DB85D65006C75DF /* libavcodec.a in Frameworks */,
+ 3681CDF14384D92A731281C2 /* libPods-KxMovieExample.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -134,20 +127,21 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 87FD6176163A75440090956E /* Foundation.framework in Frameworks */,
- 87FD618D163A75CF0090956E /* CoreGraphics.framework in Frameworks */,
- 87FD618E163A75D20090956E /* MediaPlayer.framework in Frameworks */,
- 87FD618F163A75D60090956E /* CoreAudio.framework in Frameworks */,
- 87FD6190163A75D90090956E /* AudioToolbox.framework in Frameworks */,
- 87FD6192163A75DF0090956E /* Accelerate.framework in Frameworks */,
- 87FD6191163A75DC0090956E /* QuartzCore.framework in Frameworks */,
- 87FD6193163A75E10090956E /* OpenGLES.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 567EBF159A29AB802CD8F6F9 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 134A8EAD792611B9BF80D86A /* Pods-KxMovieExample.debug.xcconfig */,
+ 840557329B14C6779110D440 /* Pods-KxMovieExample.release.xcconfig */,
+ );
+ name = Pods;
+ sourceTree = "";
+ };
87E793EB16390F10000A0848 = {
isa = PBXGroup;
children = (
@@ -155,7 +149,7 @@
87FD6177163A75440090956E /* kxmovie */,
87E793FB16390F6D000A0848 /* Frameworks */,
87E793F916390F6D000A0848 /* Products */,
- 07D459C0599C42B1906B39AD /* Pods.xcconfig */,
+ 567EBF159A29AB802CD8F6F9 /* Pods */,
);
sourceTree = "";
};
@@ -171,23 +165,19 @@
87E793FB16390F6D000A0848 /* Frameworks */ = {
isa = PBXGroup;
children = (
- 8704657A16F6EC9100D4083E /* libiconv.dylib */,
- 87E7944416391B9E000A0848 /* libavcodec.a */,
- 87E7944616391B9E000A0848 /* libavformat.a */,
- 87E7944716391B9E000A0848 /* libavutil.a */,
- 87E7944816391B9E000A0848 /* libswresample.a */,
- 87E7944916391B9E000A0848 /* libswscale.a */,
- 87E7945016391BC1000A0848 /* libz.dylib */,
- 87E793FC16390F6D000A0848 /* UIKit.framework */,
- 87E793FE16390F6D000A0848 /* Foundation.framework */,
- 87E7940016390F6D000A0848 /* CoreGraphics.framework */,
- 87E7945216391BD2000A0848 /* MediaPlayer.framework */,
- 87E7943D163910FB000A0848 /* CoreAudio.framework */,
- 87E7943B163910F6000A0848 /* AudioToolbox.framework */,
- 87E79439163910EA000A0848 /* Accelerate.framework */,
- 87E79437163910D0000A0848 /* QuartzCore.framework */,
- 87E79435163910CA000A0848 /* OpenGLES.framework */,
- 49D953B9D2DC48FBB580C6AC /* libPods.a */,
+ C2E6CE591DB85E3B006C75DF /* OpenGLES.framework */,
+ C2E6CE571DB85E22006C75DF /* QuartzCore.framework */,
+ C2E6CE551DB85E19006C75DF /* Accelerate.framework */,
+ C2E6CE531DB85E10006C75DF /* AudioToolbox.framework */,
+ C2E6CE511DB85E02006C75DF /* CoreAudio.framework */,
+ C2E6CE4F1DB85DF3006C75DF /* MediaPlayer.framework */,
+ C2E6CE4D1DB85DE1006C75DF /* CoreGraphics.framework */,
+ C2E6CE4B1DB85DD7006C75DF /* Foundation.framework */,
+ C2E6CE491DB85DC6006C75DF /* UIKit.framework */,
+ C2E6CE471DB85DBA006C75DF /* libz.tbd */,
+ C2E6CE451DB85D9A006C75DF /* libiconv.tbd */,
+ C2E6CE3A1DB85D65006C75DF /* FFmpeg */,
+ 73B24808B53B1277778EE5C8 /* libPods-KxMovieExample.a */,
);
name = Frameworks;
sourceTree = "";
@@ -235,6 +225,19 @@
path = kxmovie;
sourceTree = "";
};
+ C2E6CE3A1DB85D65006C75DF /* FFmpeg */ = {
+ isa = PBXGroup;
+ children = (
+ C2E6CE3B1DB85D65006C75DF /* libavcodec.a */,
+ C2E6CE3C1DB85D65006C75DF /* libavformat.a */,
+ C2E6CE3D1DB85D65006C75DF /* libavutil.a */,
+ C2E6CE3E1DB85D65006C75DF /* libswresample.a */,
+ C2E6CE3F1DB85D65006C75DF /* libswscale.a */,
+ );
+ name = FFmpeg;
+ path = libs/FFmpeg;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -242,11 +245,12 @@
isa = PBXNativeTarget;
buildConfigurationList = 87E7941A16390F6D000A0848 /* Build configuration list for PBXNativeTarget "KxMovieExample" */;
buildPhases = (
- D2074A9FBC4F4D4892A202BE /* Check Pods Manifest.lock */,
+ D2074A9FBC4F4D4892A202BE /* [CP] Check Pods Manifest.lock */,
87E793F416390F6D000A0848 /* Sources */,
87E793F516390F6D000A0848 /* Frameworks */,
87E793F616390F6D000A0848 /* Resources */,
- B5B7274CA0134F769E7882A1 /* Copy Pods Resources */,
+ B5B7274CA0134F769E7882A1 /* [CP] Copy Pods Resources */,
+ 29A6C359D7720577976C5E25 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -280,10 +284,11 @@
87E793ED16390F10000A0848 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0450;
+ LastUpgradeCheck = 0800;
TargetAttributes = {
87E793F716390F6D000A0848 = {
- DevelopmentTeam = 82J7XA77JC;
+ DevelopmentTeam = 6W6RQ3Z7YA;
+ ProvisioningStyle = Automatic;
};
};
};
@@ -320,29 +325,44 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
- B5B7274CA0134F769E7882A1 /* Copy Pods Resources */ = {
+ 29A6C359D7720577976C5E25 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ B5B7274CA0134F769E7882A1 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
- name = "Copy Pods Resources";
+ name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${SRCROOT}/Pods/Pods-resources.sh\"\n";
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-KxMovieExample/Pods-KxMovieExample-resources.sh\"\n";
showEnvVarsInLog = 0;
};
- D2074A9FBC4F4D4892A202BE /* Check Pods Manifest.lock */ = {
+ D2074A9FBC4F4D4892A202BE /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
- name = "Check Pods Manifest.lock";
+ name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
@@ -384,6 +404,25 @@
87E793F216390F10000A0848 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
ONLY_ACTIVE_ARCH = YES;
};
name = Debug;
@@ -391,6 +430,24 @@
87E793F316390F10000A0848 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
OTHER_CFLAGS = (
"-DNS_BLOCK_ASSERTIONS=1",
"$(inherited)",
@@ -400,7 +457,7 @@
};
87E7941B16390F6D000A0848 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 07D459C0599C42B1906B39AD /* Pods.xcconfig */;
+ baseConfigurationReference = 134A8EAD792611B9BF80D86A /* Pods-KxMovieExample.debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
@@ -411,6 +468,8 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
+ DEVELOPMENT_TEAM = 6W6RQ3Z7YA;
+ ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
@@ -429,14 +488,16 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = "KxMovieExample/KxMovieExample-Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/libs/FFmpeg\"",
+ "$(PROJECT_DIR)/libs/FFmpeg",
);
ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.dklinzh.KxMovie;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE = "F7D87EB9-8C75-4EE9-AB3B-466913B9C8CB";
+ PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = ffmpeg;
@@ -446,7 +507,7 @@
};
87E7941C16390F6D000A0848 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 07D459C0599C42B1906B39AD /* Pods.xcconfig */;
+ baseConfigurationReference = 840557329B14C6779110D440 /* Pods-KxMovieExample.release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
@@ -457,6 +518,8 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES;
+ DEVELOPMENT_TEAM = 6W6RQ3Z7YA;
+ ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
@@ -468,13 +531,15 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = "KxMovieExample/KxMovieExample-Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/libs/FFmpeg\"",
+ "$(PROJECT_DIR)/libs/FFmpeg",
);
+ PRODUCT_BUNDLE_IDENTIFIER = com.dklinzh.KxMovie;
PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE = "F7D87EB9-8C75-4EE9-AB3B-466913B9C8CB";
+ PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = ffmpeg;
@@ -511,7 +576,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/libs/FFmpeg\"",
@@ -546,7 +611,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/libs/FFmpeg\"",
diff --git a/kxmovie.xcworkspace/contents.xcworkspacedata b/kxmovie.xcworkspace/contents.xcworkspacedata
index 528d7ab5..82936733 100644
--- a/kxmovie.xcworkspace/contents.xcworkspacedata
+++ b/kxmovie.xcworkspace/contents.xcworkspacedata
@@ -1 +1,10 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
diff --git a/libs.zip b/libs.zip
new file mode 100644
index 00000000..ea5b4672
Binary files /dev/null and b/libs.zip differ