summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFawzi Mohamed <fawzi.mohamed@digia.com>2014-09-16 16:16:02 +0200
committerFawzi Mohamed <fawzi.mohamed@digia.com>2014-09-17 15:30:38 +0200
commitfaa8c08adb31ba3417c0cd34ab7624b639cde655 (patch)
tree10526be2dd624a614dc54515c4faf418e1e92b4e
parent5f1440f322d3072eaed680fbbd08fdc0ff6bc852 (diff)
downloadqt-creator-faa8c08adb31ba3417c0cd34ab7624b639cde655.tar.gz
ios: simulator integration support for Xcode6
Change-Id: Ibe161281e7dcdbba2c19fb23fac0546f2e592ad2 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
-rw-r--r--src/tools/3rdparty/iossim/coresimulator/coresimulator.h451
-rw-r--r--src/tools/3rdparty/iossim/dvtiphonesimulatorremoteclient/dvtiphonesimulatorremoteclient.h7
-rw-r--r--src/tools/3rdparty/iossim/iossim.pro3
-rw-r--r--src/tools/3rdparty/iossim/iphonesimulator.h5
-rw-r--r--src/tools/3rdparty/iossim/iphonesimulator.mm144
-rw-r--r--src/tools/3rdparty/iossim/version.h2
6 files changed, 596 insertions, 16 deletions
diff --git a/src/tools/3rdparty/iossim/coresimulator/coresimulator.h b/src/tools/3rdparty/iossim/coresimulator/coresimulator.h
new file mode 100644
index 0000000000..d38805ace4
--- /dev/null
+++ b/src/tools/3rdparty/iossim/coresimulator/coresimulator.h
@@ -0,0 +1,451 @@
+//
+// Generated by class-dump 3.5 (64 bit).
+//
+// class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
+//
+
+#pragma mark Function Pointers and Blocks
+
+typedef void (*CDUnknownFunctionPointerType)(void); // return type and parameters are unknown
+
+typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown
+
+#pragma mark Named Structures
+
+/*struct CGSize {
+ double width;
+ double height;
+};*/
+
+#pragma mark -
+
+//
+// File: $(DEVELOPER_DIR)/Library/PrivateFrameworks/CoreSimulator.framework/Versions/A/CoreSimulator
+// UUID: C7A40E7B-B10C-3CB4-85F5-42071E2E5C4C
+//
+// Arch: x86_64
+// Current version: 84.0.0
+// Compatibility version: 1.0.0
+// Source version: 84.0.0.0.0
+// Minimum Mac OS X version: 10.9.0
+// SDK version: 10.9.0
+//
+// Objective-C Garbage Collection: Unsupported
+//
+
+@protocol OS_dispatch_queue;
+@protocol OS_xpc_object;
+@protocol SimBridge;
+@class SimDevice;
+@class SimDeviceSet;
+@class SimDeviceType;
+@class SimRuntime;
+@class SimDeviceNotificationManager;
+@class SimServiceConnectionManager;
+
+@protocol SimDeviceNotifier
+- (BOOL)unregisterNotificationHandler:(unsigned long long)arg1 error:(id *)arg2;
+- (unsigned long long)registerNotificationHandlerOnQueue:(NSObject<OS_dispatch_queue> *)arg1 handler:(void (^)(NSDictionary *))arg2;
+- (unsigned long long)registerNotificationHandler:(void (^)(NSDictionary *))arg1;
+@end
+
+@interface NSArray (argv)
+- (void)freeArgv:(char **)arg1;
+- (char **)argv;
+@end
+
+@interface NSDictionary (envp)
+- (void)freeEnvp:(char **)arg1;
+- (char **)envp;
+@end
+
+@interface NSError (SimError)
++ (id)errorFromXPCDict:(id)arg1;
++ (id)errorWithSimErrno:(int)arg1 localizedDescription:(id)arg2;
++ (id)errorWithSimErrno:(int)arg1 userInfo:(id)arg2;
++ (id)errorWithSimErrno:(int)arg1;
+- (id)xpcDict;
+@end
+
+@interface NSString (cputype)
++ (id)stringForCPUType:(int)arg1;
+- (int)cputype;
+@end
+
+@interface NSUserDefaults (SimDefaults)
++ (id)simulatorDefaults;
+@end
+
+@interface SimDevice : NSObject <SimDeviceNotifier>
+{
+ unsigned long long _state;
+ NSString *_name;
+ NSDictionary *_uiWindowProperties;
+ SimDeviceType *_deviceType;
+ SimRuntime *_runtime;
+ NSUUID *_UDID;
+ SimDeviceSet *_deviceSet;
+ SimServiceConnectionManager *_connectionManager;
+ NSString *_setPath;
+ SimDeviceNotificationManager *_notificationManager;
+ NSObject<OS_dispatch_queue> *_bootstrapQueue;
+ NSMutableDictionary *_registeredServices;
+ NSObject<OS_dispatch_queue> *_stateVariableQueue;
+ NSMachPort *_deathTriggerPort;
+ NSMachPort *_hostSupportPort;
+ NSMachPort *_simBridgePort;
+ NSDistantObject<SimBridge> *_simBridgeDistantObject;
+}
+
++ (id)simDevice:(id)arg1 UDID:(id)arg2 deviceType:(id)arg3 runtime:(id)arg4 state:(unsigned long long)arg5 connectionManager:(id)arg6 setPath:(id)arg7;
++ (id)simDeviceAtPath:(id)arg1;
++ (id)createDeviceWithName:(id)arg1 setPath:(id)arg2 deviceType:(id)arg3 runtime:(id)arg4;
++ (BOOL)isValidState:(unsigned long long)arg1;
+@property(retain, nonatomic) NSDistantObject<SimBridge> *simBridgeDistantObject; // @synthesize simBridgeDistantObject=_simBridgeDistantObject;
+@property(retain, nonatomic) NSMachPort *simBridgePort; // @synthesize simBridgePort=_simBridgePort;
+@property(retain, nonatomic) NSMachPort *hostSupportPort; // @synthesize hostSupportPort=_hostSupportPort;
+@property(retain) NSMachPort *deathTriggerPort; // @synthesize deathTriggerPort=_deathTriggerPort;
+@property(retain) NSObject<OS_dispatch_queue> *stateVariableQueue; // @synthesize stateVariableQueue=_stateVariableQueue;
+@property(retain) NSMutableDictionary *registeredServices; // @synthesize registeredServices=_registeredServices;
+@property(retain) NSObject<OS_dispatch_queue> *bootstrapQueue; // @synthesize bootstrapQueue=_bootstrapQueue;
+@property(retain) SimDeviceNotificationManager *notificationManager; // @synthesize notificationManager=_notificationManager;
+@property(copy) NSString *setPath; // @synthesize setPath=_setPath;
+@property(retain) SimServiceConnectionManager *connectionManager; // @synthesize connectionManager=_connectionManager;
+@property(readonly) SimDeviceSet *deviceSet; // @synthesize deviceSet=_deviceSet;
+@property(copy) NSUUID *UDID; // @synthesize UDID=_UDID;
+@property(retain) SimRuntime *runtime; // @synthesize runtime=_runtime;
+@property(retain) SimDeviceType *deviceType; // @synthesize deviceType=_deviceType;
+//- (void).cxx_destruct;
+- (BOOL)isAvailableWithError:(id *)arg1;
+@property(readonly) BOOL available;
+- (int)launchApplicationWithID:(id)arg1 options:(id)arg2 error:(id *)arg3;
+- (void)launchApplicationAsyncWithID:(id)arg1 options:(id)arg2 completionHandler:(CDUnknownBlockType)arg3;
+- (id)installedAppsWithError:(id *)arg1;
+- (BOOL)applicationIsInstalled:(id)arg1 type:(id *)arg2 error:(id *)arg3;
+- (BOOL)uninstallApplication:(id)arg1 withOptions:(id)arg2 error:(id *)arg3;
+- (BOOL)installApplication:(id)arg1 withOptions:(id)arg2 error:(id *)arg3;
+- (BOOL)setKeyboardLanguage:(id)arg1 error:(id *)arg2;
+- (BOOL)addPhoto:(id)arg1 error:(id *)arg2;
+- (BOOL)openURL:(id)arg1 error:(id *)arg2;
+- (void)simBridgeSync:(CDUnknownBlockType)arg1;
+- (void)simBridgeAsync:(CDUnknownBlockType)arg1;
+- (void)simBridgeCommon:(CDUnknownBlockType)arg1;
+- (long long)compare:(id)arg1;
+- (id)newDeviceNotification;
+- (id)createXPCNotification:(const char *)arg1;
+- (id)createXPCRequest:(const char *)arg1;
+- (void)handleXPCRequestSpawn:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestGetenv:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestLookup:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestRegister:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestRestore:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestUpdateUIWindow:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestErase:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestUpgrade:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestShutdown:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestBoot:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequestRename:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequest:(id)arg1 peer:(id)arg2;
+- (void)handleXPCNotificationDeviceUIWindowPropertiesChanged:(id)arg1;
+- (void)handleXPCNotificationDeviceRenamed:(id)arg1;
+- (void)handleXPCNotificationDeviceStateChanged:(id)arg1;
+- (void)handleXPCNotification:(id)arg1;
+@property(copy) NSDictionary *uiWindowProperties;
+@property(copy) NSString *name;
+@property unsigned long long state;
+- (id)stateString;
+- (BOOL)unregisterNotificationHandler:(unsigned long long)arg1 error:(id *)arg2;
+- (unsigned long long)registerNotificationHandlerOnQueue:(id)arg1 handler:(CDUnknownBlockType)arg2;
+- (unsigned long long)registerNotificationHandler:(CDUnknownBlockType)arg1;
+- (void)simulateMemoryWarning;
+- (id)memoryWarningFilePath;
+@property(readonly, copy) NSString *logPath;
+- (id)dataPath;
+- (id)devicePath;
+- (id)environment;
+- (int)_spawnFromSelfWithPath:(id)arg1 options:(id)arg2 terminationHandler:(CDUnknownBlockType)arg3 error:(id *)arg4;
+- (int)_spawnFromLaunchdWithPath:(id)arg1 options:(id)arg2 terminationHandler:(CDUnknownBlockType)arg3 error:(id *)arg4;
+- (int)spawnWithPath:(id)arg1 options:(id)arg2 terminationHandler:(CDUnknownBlockType)arg3 error:(id *)arg4;
+- (void)spawnAsyncWithPath:(id)arg1 options:(id)arg2 terminationHandler:(CDUnknownBlockType)arg3 completionHandler:(CDUnknownBlockType)arg4;
+- (BOOL)registerPort:(unsigned int)arg1 service:(id)arg2 error:(id *)arg3;
+- (unsigned int)lookup:(id)arg1 error:(id *)arg2;
+- (unsigned int)_lookup:(id)arg1 error:(id *)arg2;
+- (id)getenv:(id)arg1 error:(id *)arg2;
+- (BOOL)restoreContentsAndSettingsFromDevice:(id)arg1 error:(id *)arg2;
+- (void)restoreContentsAndSettingsAsyncFromDevice:(id)arg1 completionHandler:(CDUnknownBlockType)arg2;
+- (BOOL)updateUIWindowProperties:(id)arg1 error:(id *)arg2;
+- (void)updateAsyncUIWindowProperties:(id)arg1 completionHandler:(CDUnknownBlockType)arg2;
+- (void)_sendUIWindowPropertiesToDevice;
+- (BOOL)eraseContentsAndSettingsWithError:(id *)arg1;
+- (void)eraseContentsAndSettingsAsyncWithCompletionHandler:(CDUnknownBlockType)arg1;
+- (BOOL)upgradeToRuntime:(id)arg1 error:(id *)arg2;
+- (void)upgradeAsyncToRuntime:(id)arg1 completionHandler:(CDUnknownBlockType)arg2;
+- (BOOL)rename:(id)arg1 error:(id *)arg2;
+- (void)renameAsync:(id)arg1 completionHandler:(CDUnknownBlockType)arg2;
+- (BOOL)shutdownWithError:(id *)arg1;
+- (BOOL)_shutdownWithError:(id *)arg1;
+- (void)shutdownAsyncWithCompletionHandler:(CDUnknownBlockType)arg1;
+- (BOOL)bootWithOptions:(id)arg1 error:(id *)arg2;
+- (void)bootAsyncWithOptions:(id)arg1 completionHandler:(CDUnknownBlockType)arg2;
+- (void)launchdDeathHandlerWithDeathPort:(id)arg1;
+- (BOOL)startLaunchdWithDeathPort:(id)arg1 deathHandler:(CDUnknownBlockType)arg2 error:(id *)arg3;
+- (void)registerPortsWithLaunchd;
+@property(readonly) NSArray *launchDaemonsPaths;
+- (BOOL)removeLaunchdJobWithError:(id *)arg1;
+- (BOOL)createLaunchdJobWithError:(id *)arg1 extraEnvironment:(id)arg2;
+- (BOOL)clearTmpWithError:(id *)arg1;
+- (BOOL)ensureLogPathsWithError:(id *)arg1;
+- (BOOL)supportsFeature:(id)arg1;
+@property(readonly, copy) NSString *launchdJobName;
+- (void)saveToDisk;
+- (id)saveStateDict;
+- (void)validateAndFixState;
+@property(readonly, copy) NSString *descriptiveName;
+- (id)description;
+- (void)dealloc;
+- (id)initDevice:(id)arg1 UDID:(id)arg2 deviceType:(id)arg3 runtime:(id)arg4 state:(unsigned long long)arg5 connectionManager:(id)arg6 setPath:(id)arg7;
+
+@end
+
+@interface SimDeviceNotificationManager : NSObject <SimDeviceNotifier>
+{
+ NSObject<OS_dispatch_queue> *_handlersQueue;
+ NSMutableDictionary *_handlers;
+ unsigned long long _next_regID;
+ NSObject<OS_dispatch_queue> *_sendQueue;
+}
+
+@property(retain) NSObject<OS_dispatch_queue> *sendQueue; // @synthesize sendQueue=_sendQueue;
+@property unsigned long long next_regID; // @synthesize next_regID=_next_regID;
+@property(retain) NSMutableDictionary *handlers; // @synthesize handlers=_handlers;
+@property(retain) NSObject<OS_dispatch_queue> *handlersQueue; // @synthesize handlersQueue=_handlersQueue;
+//- (void).cxx_destruct;
+- (void)sendNotification:(id)arg1;
+- (BOOL)unregisterNotificationHandler:(unsigned long long)arg1 error:(id *)arg2;
+- (unsigned long long)registerNotificationHandlerOnQueue:(id)arg1 handler:(CDUnknownBlockType)arg2;
+- (unsigned long long)registerNotificationHandler:(CDUnknownBlockType)arg1;
+- (void)dealloc;
+- (id)init;
+
+@end
+
+@interface SimDeviceSet : NSObject <SimDeviceNotifier>
+{
+ NSString *_setPath;
+ NSObject<OS_dispatch_queue> *_devicesQueue;
+ NSMutableDictionary *__devicesByUDID;
+ NSMutableDictionary *_devicesNotificationRegIDs;
+ SimServiceConnectionManager *_connectionManager;
+ SimDeviceNotificationManager *_notificationManager;
+}
+
++ (id)setForSetPath:(id)arg1;
++ (id)defaultSet;
++ (id)defaultSetPath;
+@property(retain) SimDeviceNotificationManager *notificationManager; // @synthesize notificationManager=_notificationManager;
+@property(retain) SimServiceConnectionManager *connectionManager; // @synthesize connectionManager=_connectionManager;
+@property(retain) NSMutableDictionary *devicesNotificationRegIDs; // @synthesize devicesNotificationRegIDs=_devicesNotificationRegIDs;
+@property(retain) NSMutableDictionary *_devicesByUDID; // @synthesize _devicesByUDID=__devicesByUDID;
+@property(retain) NSObject<OS_dispatch_queue> *devicesQueue; // @synthesize devicesQueue=_devicesQueue;
+@property(copy) NSString *setPath; // @synthesize setPath=_setPath;
+//- (void).cxx_destruct;
+- (void)handleXPCRequestDeleteDevice:(id)arg1 peer:(id)arg2 device:(id)arg3;
+- (void)handleXPCRequestCreateDevice:(id)arg1 peer:(id)arg2;
+- (void)handleXPCRequest:(id)arg1 peer:(id)arg2;
+- (void)handleXPCNotificationDeviceRemoved:(id)arg1;
+- (void)handleXPCNotificationDeviceAdded:(id)arg1;
+- (void)handleXPCNotification:(id)arg1;
+- (BOOL)deleteDevice:(id)arg1 error:(id *)arg2;
+- (void)deleteDeviceAsync:(id)arg1 completionHandler:(CDUnknownBlockType)arg2;
+- (id)createDeviceWithType:(id)arg1 runtime:(id)arg2 name:(id)arg3 error:(id *)arg4;
+- (void)createDeviceAsyncWithType:(id)arg1 runtime:(id)arg2 name:(id)arg3 completionHandler:(CDUnknownBlockType)arg4;
+- (BOOL)unregisterNotificationHandler:(unsigned long long)arg1 error:(id *)arg2;
+- (unsigned long long)registerNotificationHandlerOnQueue:(id)arg1 handler:(CDUnknownBlockType)arg2;
+- (unsigned long long)registerNotificationHandler:(CDUnknownBlockType)arg1;
+- (void)removeDeviceAsync:(id)arg1;
+- (void)addDevice:(id)arg1;
+- (void)addDeviceAsync:(id)arg1;
+- (void)updateDefaultDevices;
+- (id)defaultCreatedPlistPath;
+@property(readonly, copy) NSArray *availableDevices;
+@property(readonly, copy) NSArray *devices;
+@property(readonly, copy) NSDictionary *devicesByUDID;
+- (id)description;
+- (void)dealloc;
+- (id)initWithSetPath:(id)arg1;
+
+@end
+
+@interface SimDeviceType : NSObject
+{
+ float _mainScreenScale;
+ unsigned int _minRuntimeVersion;
+ unsigned int _maxRuntimeVersion;
+ NSString *_name;
+ NSString *_identifier;
+ NSString *_modelIdentifier;
+ NSBundle *_bundle;
+ NSArray *_supportedArchs;
+ NSArray *_supportedProductFamilyIDs;
+ NSDictionary *_capabilities;
+ NSString *_springBoardConfigName;
+ NSString *_productClass;
+ NSDictionary *_environment_extra;
+ NSDictionary *_aliases;
+ NSDictionary *_supportedFeatures;
+ NSDictionary *_supportedFeaturesConditionalOnRuntime;
+ struct CGSize _mainScreenSize;
+ struct CGSize _mainScreenDPI;
+}
+
++ (id)supportedDeviceTypesByName;
++ (id)supportedDeviceTypesByAlias;
++ (id)supportedDeviceTypesByIdentifier;
++ (id)supportedDeviceTypes;
++ (id)supportedDevices;
+@property(copy) NSDictionary *supportedFeaturesConditionalOnRuntime; // @synthesize supportedFeaturesConditionalOnRuntime=_supportedFeaturesConditionalOnRuntime;
+@property(copy) NSDictionary *supportedFeatures; // @synthesize supportedFeatures=_supportedFeatures;
+@property(copy) NSDictionary *aliases; // @synthesize aliases=_aliases;
+@property(copy) NSDictionary *environment_extra; // @synthesize environment_extra=_environment_extra;
+@property(copy) NSString *productClass; // @synthesize productClass=_productClass;
+@property(copy) NSString *springBoardConfigName; // @synthesize springBoardConfigName=_springBoardConfigName;
+@property unsigned int maxRuntimeVersion; // @synthesize maxRuntimeVersion=_maxRuntimeVersion;
+@property unsigned int minRuntimeVersion; // @synthesize minRuntimeVersion=_minRuntimeVersion;
+@property struct CGSize mainScreenDPI; // @synthesize mainScreenDPI=_mainScreenDPI;
+@property struct CGSize mainScreenSize; // @synthesize mainScreenSize=_mainScreenSize;
+@property(copy) NSDictionary *capabilities; // @synthesize capabilities=_capabilities;
+@property float mainScreenScale; // @synthesize mainScreenScale=_mainScreenScale;
+@property(copy) NSArray *supportedProductFamilyIDs; // @synthesize supportedProductFamilyIDs=_supportedProductFamilyIDs;
+@property(copy) NSArray *supportedArchs; // @synthesize supportedArchs=_supportedArchs;
+@property(retain) NSBundle *bundle; // @synthesize bundle=_bundle;
+@property(copy) NSString *modelIdentifier; // @synthesize modelIdentifier=_modelIdentifier;
+@property(copy) NSString *identifier; // @synthesize identifier=_identifier;
+@property(copy) NSString *name; // @synthesize name=_name;
+//- (void).cxx_destruct;
+- (Class)deviceClass;
+- (long long)compare:(id)arg1;
+- (BOOL)supportsFeatureConditionally:(id)arg1;
+- (BOOL)supportsFeature:(id)arg1;
+- (id)environmentForRuntime:(id)arg1;
+- (id)environment;
+@property(readonly, copy) NSString *productFamily;
+@property(readonly) int productFamilyID;
+- (id)description;
+- (void)dealloc;
+- (id)initWithBundle:(id)arg1;
+- (id)initWithPath:(id)arg1;
+- (id)init;
+
+@end
+
+@interface SimRuntime : NSObject
+{
+ unsigned int _version;
+ unsigned int _minHostVersion;
+ unsigned int _maxHostVersion;
+ NSString *_name;
+ NSString *_identifier;
+ NSBundle *_bundle;
+ NSString *_root;
+ NSString *_versionString;
+ NSString *_buildVersionString;
+ NSDictionary *_supportedFeatures;
+ NSDictionary *_supportedFeaturesConditionalOnDeviceType;
+ NSDictionary *_requiredHostServices;
+ NSString *_platformPath;
+ NSArray *_supportedProductFamilyIDs;
+ NSDictionary *_environment_extra;
+ void *_libLaunchHostHandle;
+ NSDictionary *_aliases;
+}
+
++ (id)supportedRuntimesByAlias;
++ (id)supportedRuntimesByIdentifier;
++ (id)supportedRuntimes;
+@property unsigned int maxHostVersion; // @synthesize maxHostVersion=_maxHostVersion;
+@property unsigned int minHostVersion; // @synthesize minHostVersion=_minHostVersion;
+@property(copy) NSDictionary *aliases; // @synthesize aliases=_aliases;
+@property(nonatomic) void *libLaunchHostHandle; // @synthesize libLaunchHostHandle=_libLaunchHostHandle;
+@property(copy) NSDictionary *environment_extra; // @synthesize environment_extra=_environment_extra;
+@property(copy) NSArray *supportedProductFamilyIDs; // @synthesize supportedProductFamilyIDs=_supportedProductFamilyIDs;
+@property(copy) NSString *platformPath; // @synthesize platformPath=_platformPath;
+@property(copy) NSDictionary *requiredHostServices; // @synthesize requiredHostServices=_requiredHostServices;
+@property(copy) NSDictionary *supportedFeaturesConditionalOnDeviceType; // @synthesize supportedFeaturesConditionalOnDeviceType=_supportedFeaturesConditionalOnDeviceType;
+@property(copy) NSDictionary *supportedFeatures; // @synthesize supportedFeatures=_supportedFeatures;
+@property unsigned int version; // @synthesize version=_version;
+@property(copy) NSString *buildVersionString; // @synthesize buildVersionString=_buildVersionString;
+@property(copy) NSString *versionString; // @synthesize versionString=_versionString;
+@property(copy) NSString *root; // @synthesize root=_root;
+@property(retain) NSBundle *bundle; // @synthesize bundle=_bundle;
+@property(copy) NSString *identifier; // @synthesize identifier=_identifier;
+@property(copy) NSString *name; // @synthesize name=_name;
+//- (void).cxx_destruct;
+- (id)platformRuntimeOverlay;
+- (CDUnknownFunctionPointerType)launch_sim_set_death_handler;
+- (CDUnknownFunctionPointerType)launch_sim_waitpid;
+- (CDUnknownFunctionPointerType)launch_sim_spawn;
+- (CDUnknownFunctionPointerType)launch_sim_getenv;
+- (CDUnknownFunctionPointerType)launch_sim_bind_session_to_port;
+- (CDUnknownFunctionPointerType)launch_sim_find_endpoint;
+- (CDUnknownFunctionPointerType)launch_sim_register_endpoint;
+- (BOOL)isAvailableWithError:(id *)arg1;
+@property(readonly) BOOL available;
+- (BOOL)verifyRuntime;
+- (id)dyld_simPath;
+- (BOOL)createInitialContentPath:(id)arg1 error:(id *)arg2;
+- (void)createInitialContentPath:(id)arg1;
+- (id)sampleContentPath;
+- (long long)compare:(id)arg1;
+- (BOOL)supportsFeatureConditionally:(id)arg1;
+- (BOOL)supportsFeature:(id)arg1;
+- (BOOL)supportsDeviceType:(id)arg1;
+- (BOOL)supportsDevice:(id)arg1;
+- (id)environment;
+- (id)description;
+- (void)dealloc;
+- (id)initWithBundle:(id)arg1;
+- (id)initWithPath:(id)arg1;
+- (id)init;
+
+@end
+
+@interface SimServiceConnectionManager : NSObject
+{
+ NSObject<OS_xpc_object> *_serviceConnection;
+ NSObject<OS_dispatch_queue> *_serviceConnectionQueue;
+ NSDate *_lastConnectionTime;
+}
+
++ (void)useService:(BOOL)arg1;
++ (id)sharedConnectionManager;
+@property(retain) NSDate *lastConnectionTime; // @synthesize lastConnectionTime=_lastConnectionTime;
+@property(retain) NSObject<OS_dispatch_queue> *serviceConnectionQueue; // @synthesize serviceConnectionQueue=_serviceConnectionQueue;
+@property(retain) NSObject<OS_xpc_object> *serviceConnection; // @synthesize serviceConnection=_serviceConnection;
+//- (void).cxx_destruct;
+- (void)handleXPCEvent:(id)arg1;
+- (void)dealloc;
+- (BOOL)connect;
+- (id)init;
+
+@end
+
+@interface SimVerifier : NSObject
+{
+ NSObject<OS_xpc_object> *_serviceConnection;
+ NSObject<OS_dispatch_queue> *_serviceConnectionQueue;
+}
+
++ (id)verificationError:(int)arg1;
++ (id)connectionError;
++ (id)sharedVerifier;
+@property(retain) NSObject<OS_dispatch_queue> *serviceConnectionQueue; // @synthesize serviceConnectionQueue=_serviceConnectionQueue;
+@property(retain) NSObject<OS_xpc_object> *serviceConnection; // @synthesize serviceConnection=_serviceConnection;
+//- (void).cxx_destruct;
+- (id)verifyDyldSim:(id)arg1;
+- (id)verifyAll;
+- (BOOL)verifyAllWithError:(id *)arg1;
+- (void)dealloc;
+- (id)init;
+
+@end
+
diff --git a/src/tools/3rdparty/iossim/dvtiphonesimulatorremoteclient/dvtiphonesimulatorremoteclient.h b/src/tools/3rdparty/iossim/dvtiphonesimulatorremoteclient/dvtiphonesimulatorremoteclient.h
index 70cc4ac436..7f83f4b37f 100644
--- a/src/tools/3rdparty/iossim/dvtiphonesimulatorremoteclient/dvtiphonesimulatorremoteclient.h
+++ b/src/tools/3rdparty/iossim/dvtiphonesimulatorremoteclient/dvtiphonesimulatorremoteclient.h
@@ -1,3 +1,5 @@
+#import "../coresimulator/coresimulator.h"
+
//
// Generated by class-dump 3.5 (64 bit).
//
@@ -242,6 +244,8 @@ typedef void (^CDUnknownBlockType)(void); // return type and parameters are unkn
@property(copy) DTiPhoneSimulatorSystemRoot *simulatedSystemRoot; // @synthesize simulatedSystemRoot=_simulatedSystemRoot;
@property(copy) NSString *localizedClientName; // @synthesize localizedClientName=_localizedClientName;
@property BOOL launchForBackgroundFetch; // @synthesize launchForBackgroundFetch=_launchForBackgroundFetch;
+@property(retain) SimDevice *device; // @synthesize device=_device;
+@property(retain) SimRuntime *runtime; // @synthesize runtime=_runtime;
- (id)description;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)init;
@@ -263,6 +267,7 @@ typedef void (^CDUnknownBlockType)(void); // return type and parameters are unkn
@property(copy) NSString *sdkDisplayName; // @synthesize sdkDisplayName;
@property(copy) NSString *sdkVersion; // @synthesize sdkVersion;
@property(copy) NSString *sdkRootPath; // @synthesize sdkRootPath;
+@property(readonly) SimRuntime *runtime; // @synthesize runtime=_runtime;
- (id)description;
- (long long)compare:(id)arg1;
- (id)copyWithZone:(struct _NSZone *)arg1;
@@ -287,4 +292,4 @@ typedef void (^CDUnknownBlockType)(void); // return type and parameters are unkn
- (id)description;
- (id)copyWithZone:(struct _NSZone *)arg1;
-@end \ No newline at end of file
+@end
diff --git a/src/tools/3rdparty/iossim/iossim.pro b/src/tools/3rdparty/iossim/iossim.pro
index 47534f00d7..c94bade615 100644
--- a/src/tools/3rdparty/iossim/iossim.pro
+++ b/src/tools/3rdparty/iossim/iossim.pro
@@ -50,7 +50,8 @@ HEADERS += \
nsprintf.h \
nsstringexpandpath.h \
version.h \
- dvtiphonesimulatorremoteclient/dvtiphonesimulatorremoteclient.h
+ dvtiphonesimulatorremoteclient/dvtiphonesimulatorremoteclient.h \
+ coresimulator/coresimulator.h
OTHER_FILES = IOSSIM_LICENSE \
Info.plist
diff --git a/src/tools/3rdparty/iossim/iphonesimulator.h b/src/tools/3rdparty/iossim/iphonesimulator.h
index 3049f318d2..da4a626ebd 100644
--- a/src/tools/3rdparty/iossim/iphonesimulator.h
+++ b/src/tools/3rdparty/iossim/iphonesimulator.h
@@ -24,6 +24,8 @@
BOOL alreadyPrintedData;
BOOL retinaDevice;
BOOL tallDevice;
+ BOOL is64BitDevice;
+ NSString *deviceTypeId;
}
- (id)init;
@@ -34,6 +36,7 @@
- (void)removeStdioFIFO:(NSFileHandle *)fileHandle atPath:(NSString *)path;
- (void)stop;
- (void)doExit:(int)errorCode;
-- (NSString*)changeDeviceType:(NSString *)family retina:(BOOL)retina isTallDevice:(BOOL)isTallDevice;
+- (SimDevice*) findDeviceWithFamily:(NSString *)family retina:(BOOL)retina isTallDevice:(BOOL)isTallDevice is64Bit:(BOOL)is64Bit;
+- (NSString*)changeDeviceType:(NSString *)family retina:(BOOL)retina isTallDevice:(BOOL)isTallDevice is64Bit:(BOOL)is64Bit;
@end
diff --git a/src/tools/3rdparty/iossim/iphonesimulator.mm b/src/tools/3rdparty/iossim/iphonesimulator.mm
index 40425775d9..7845a7af46 100644
--- a/src/tools/3rdparty/iossim/iphonesimulator.mm
+++ b/src/tools/3rdparty/iossim/iphonesimulator.mm
@@ -18,15 +18,30 @@ NSString *simulatorPrefrencesName = @"com.apple.iphonesimulator";
NSString *deviceProperty = @"SimulateDevice";
NSString *deviceIphoneRetina3_5Inch = @"iPhone Retina (3.5-inch)";
NSString *deviceIphoneRetina4_0Inch = @"iPhone Retina (4-inch)";
+NSString *deviceIphoneRetina4_0Inch_64bit = @"iPhone Retina (4-inch 64-bit)";
NSString *deviceIphone = @"iPhone";
NSString *deviceIpad = @"iPad";
NSString *deviceIpadRetina = @"iPad Retina";
+NSString *deviceIpadRetina_64bit = @"iPad Retina (64-bit)";
+
+NSString* deviceTypeIdIphone4s = @"com.apple.CoreSimulator.SimDeviceType.iPhone-4s";
+NSString* deviceTypeIdIphone5 = @"com.apple.CoreSimulator.SimDeviceType.iPhone-5";
+NSString* deviceTypeIdIphone5s = @"com.apple.CoreSimulator.SimDeviceType.iPhone-5s";
+NSString* deviceTypeIdIpad2 = @"com.apple.CoreSimulator.SimDeviceType.iPad-2";
+NSString* deviceTypeIdIpadRetina = @"com.apple.CoreSimulator.SimDeviceType.iPad-Retina";
+NSString* deviceTypeIdIpadAir = @"com.apple.CoreSimulator.SimDeviceType.iPad-Air";
+NSString* deviceTypeIdResizableIphone = @"com.apple.CoreSimulator.SimDeviceType.Resizable-iPhone";
+NSString* deviceTypeIdResizeableIpad = @"com.apple.CoreSimulator.SimDeviceType.Resizable-iPad";
// The path within the developer dir of the private Simulator frameworks.
-NSString* const kSimulatorFrameworkRelativePath = @"Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/DVTiPhoneSimulatorRemoteClient.framework";
+NSString* const kSimulatorFrameworkRelativePathLegacy = @"Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/DVTiPhoneSimulatorRemoteClient.framework";
+NSString* const kSimulatorFrameworkRelativePath = @"../SharedFrameworks/DVTiPhoneSimulatorRemoteClient.framework";
NSString* const kDVTFoundationRelativePath = @"../SharedFrameworks/DVTFoundation.framework";
NSString* const kDevToolsFoundationRelativePath = @"../OtherFrameworks/DevToolsFoundation.framework";
//NSString* const kSimulatorRelativePath = @"Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app";
+NSString* const kCoreSimulatorRelativePath = @"Library/PrivateFrameworks/CoreSimulator.framework";
+
+static pid_t gDebuggerProcessId;
static const char *gDevDir = 0;
@@ -88,6 +103,14 @@ static const char *gDevDir = 0;
nsprintf(@"Unable to devToolsFoundationPath. Error: ");
return ;
}
+ NSString* coreSimulatorPath = [developerDir stringByAppendingPathComponent:kCoreSimulatorRelativePath];
+ if ([[NSFileManager defaultManager] fileExistsAtPath:coreSimulatorPath]) {
+ NSBundle* coreSimulatorBundle = [NSBundle bundleWithPath:coreSimulatorPath];
+ if (![coreSimulatorBundle load]){
+ nsprintf(@"Unable to coreSimulatorPath. Error: ");
+ return ;
+ }
+ }
// Prime DVTPlatform.
NSError* error;
Class DVTPlatformClass = [self FindClassByName:@"DVTPlatform"];
@@ -95,7 +118,10 @@ static const char *gDevDir = 0;
nsprintf(@"Unable to loadAllPlatformsReturningError. Error: %@",[error localizedDescription]);
return ;
}
- NSString* simBundlePath = [developerDir stringByAppendingPathComponent:kSimulatorFrameworkRelativePath];
+ NSString* simBundlePath = [developerDir stringByAppendingPathComponent:kSimulatorFrameworkRelativePathLegacy];
+ if (![[NSFileManager defaultManager] fileExistsAtPath:simBundlePath]){
+ simBundlePath = [developerDir stringByAppendingPathComponent:kSimulatorFrameworkRelativePath];
+ }
NSBundle* simBundle = [NSBundle bundleWithPath:simBundlePath];
if (![simBundle load]){
nsprintf(@"Unable to load simulator framework. Error: %@",[error localizedDescription]);
@@ -115,20 +141,20 @@ NSString* FindDeveloperDir() {
NSString* developerDir = [env objectForKey:@"DEVELOPER_DIR"];
if ([developerDir length] > 0)
return developerDir;
-
+
// Go look for it via xcode-select.
NSTask* xcodeSelectTask = [[[NSTask alloc] init] autorelease];
[xcodeSelectTask setLaunchPath:@"/usr/bin/xcode-select"];
[xcodeSelectTask setArguments:[NSArray arrayWithObject:@"-print-path"]];
-
+
NSPipe* outputPipe = [NSPipe pipe];
[xcodeSelectTask setStandardOutput:outputPipe];
NSFileHandle* outputFile = [outputPipe fileHandleForReading];
-
+
[xcodeSelectTask launch];
NSData* outputData = [outputFile readDataToEndOfFile];
[xcodeSelectTask terminate];
-
+
NSString* output =
[[[NSString alloc] initWithData:outputData
encoding:NSUTF8StringEncoding] autorelease];
@@ -143,6 +169,7 @@ NSString* FindDeveloperDir() {
fprintf(stdout, "\n");
fprintf(stdout, "Commands:\n");
fprintf(stdout, " showsdks List the available iOS SDK versions\n");
+ fprintf(stdout, " showdevicetypes List the available device types (Xcode6+)\n");
fprintf(stdout, " launch &lt;application path&gt; Launch the application at the specified path on the iOS Simulator\n");
fprintf(stdout, " start Launch iOS Simulator without an app\n");
fprintf(stdout, "\n");
@@ -156,9 +183,11 @@ NSString* FindDeveloperDir() {
fprintf(stdout, " --debug Attach LLDB to the application on startup\n");
fprintf(stdout, " --use-gdb Use GDB instead of LLDB. (Requires --debug)\n");
fprintf(stdout, " --sdk &lt;sdkversion&gt; The iOS SDK version to run the application on (defaults to the latest)\n");
+ fprintf(stdout, " --devicetypeid <device type> The id of the device type that should be simulated (Xcode6+)\n");
fprintf(stdout, " --family &lt;device family&gt; The device type that should be simulated (defaults to `iphone')\n");
fprintf(stdout, " --retina Start a retina device\n");
fprintf(stdout, " --tall In combination with --retina flag, start the tall version of the retina device (e.g. iPhone 5 (4-inch))\n");
+ fprintf(stdout, " --64bit In combination with --retina flag and the --tall flag, start the 64bit version of the tall retina device (e.g. iPhone 5S (4-inch 64bit))\n");
fprintf(stdout, " --uuid &lt;uuid&gt; A UUID identifying the session (is that correct?)\n");
fprintf(stdout, " --env &lt;environment file path&gt; A plist file containing environment key-value pairs that should be set\n");
fprintf(stdout, " --setenv NAME=VALUE Set an environment variable\n");
@@ -187,6 +216,18 @@ NSString* FindDeveloperDir() {
return EXIT_SUCCESS;
}
+- (int) showDeviceTypes {
+ Class simDeviceSet = NSClassFromString(@"SimDeviceSet");
+ if (simDeviceSet) {
+ SimDeviceSet* deviceSet = [simDeviceSet defaultSet];
+ NSArray* devices = [deviceSet availableDevices];
+ for (SimDevice* device in devices) {
+ nsfprintf(stderr, @"%@", device.deviceType.identifier);
+ }
+ }
+
+ return EXIT_SUCCESS;
+}
- (void)session:(DTiPhoneSimulatorSession *)session didEndWithError:(NSError *)error {
if (verbose) {
@@ -210,6 +251,14 @@ NSString* FindDeveloperDir() {
[self doExit:EXIT_SUCCESS];
}
+static void IgnoreSignal(int /*arg*/) {
+}
+
+static void ChildSignal(int /*arg*/) {
+ int status;
+ waitpid(gDebuggerProcessId, &status, 0);
+ exit(EXIT_SUCCESS);
+}
- (void)session:(DTiPhoneSimulatorSession *)session didStart:(BOOL)started withError:(NSError *)error {
if (startOnly && session) {
@@ -242,6 +291,9 @@ NSString* FindDeveloperDir() {
[self doExit:EXIT_FAILURE];
return;
}
+ gDebuggerProcessId = child_pid;
+ signal(SIGINT, IgnoreSignal);
+ signal(SIGCHLD, ChildSignal);
}
if (verbose) {
msgprintf(@"Session started");
@@ -400,9 +452,15 @@ NSString* FindDeveloperDir() {
[config setSimulatedDeviceFamily:[NSNumber numberWithInt:1]];
}
}
-
- NSString* devicePropertyValue = [self changeDeviceType:family retina:retinaDevice isTallDevice:tallDevice];
- [config setSimulatedDeviceInfoName:devicePropertyValue];
+
+ if ([config respondsToSelector:@selector(setDevice:)]) {
+ // Xcode6+
+ config.device = [self findDeviceWithFamily:family retina:retinaDevice isTallDevice:tallDevice is64Bit:is64BitDevice];
+ } else {
+ // Xcode5 or older
+ NSString* devicePropertyValue = [self changeDeviceType:family retina:retinaDevice isTallDevice:tallDevice is64Bit:is64BitDevice];
+ [config setSimulatedDeviceInfoName:devicePropertyValue];
+ }
/* Start the session */
session = [[[[self FindClassByName:@"DTiPhoneSimulatorSession"] alloc] init] autorelease];
@@ -420,18 +478,70 @@ NSString* FindDeveloperDir() {
return EXIT_SUCCESS;
}
-- (NSString*) changeDeviceType:(NSString *)family retina:(BOOL)retina isTallDevice:(BOOL)isTallDevice {
+- (SimDevice*) findDeviceWithFamily:(NSString *)family retina:(BOOL)retina isTallDevice:(BOOL)isTallDevice is64Bit:(BOOL)is64Bit {
+ NSString* devTypeId = self->deviceTypeId;
+
+ if (!devTypeId) {
+ devTypeId = deviceTypeIdIphone5;
+ if (retina) {
+ if ([family isEqualToString:@"ipad"]) {
+ if (is64Bit) {
+ devTypeId = deviceTypeIdIpadAir;
+ } else {
+ devTypeId = deviceTypeIdIpadRetina;
+ }
+ } else {
+ if (isTallDevice) {
+ if (is64Bit) {
+ devTypeId = deviceTypeIdIphone5s;
+ } else {
+ devTypeId = deviceTypeIdIphone5;
+ }
+ } else {
+ devTypeId = deviceTypeIdIphone4s;
+ }
+ }
+ } else {
+ if ([family isEqualToString:@"ipad"]) {
+ devTypeId = deviceTypeIdIpad2;
+ } else {
+ devTypeId = deviceTypeIdIphone4s;
+ }
+ }
+ }
+
+ SimDeviceSet* deviceSet = [[self FindClassByName:@"SimDeviceSet"] defaultSet];
+ NSArray* devices = [deviceSet availableDevices];
+ for (SimDevice* device in devices) {
+ SimDeviceType* type = device.deviceType;
+ if ([type.identifier isEqualToString:devTypeId]) {
+ return device;
+ }
+ }
+ // Default to whatever is the first device
+ return [devices count] > 0 ? [devices objectAtIndex:0] : nil;
+}
+
+- (NSString*) changeDeviceType:(NSString *)family retina:(BOOL)retina isTallDevice:(BOOL)isTallDevice is64Bit:(BOOL)is64Bit {
NSString *devicePropertyValue;
if (retina) {
if (verbose) {
msgprintf(@"using retina");
}
if ([family isEqualToString:@"ipad"]) {
- devicePropertyValue = deviceIpadRetina;
+ if (is64Bit) {
+ devicePropertyValue = deviceIpadRetina_64bit;
+ } else {
+ devicePropertyValue = deviceIpadRetina;
+ }
}
else {
if (isTallDevice) {
- devicePropertyValue = deviceIphoneRetina4_0Inch;
+ if (is64Bit) {
+ devicePropertyValue = deviceIphoneRetina4_0Inch_64bit;
+ } else {
+ devicePropertyValue = deviceIphoneRetina4_0Inch;
+ }
} else {
devicePropertyValue = deviceIphoneRetina3_5Inch;
}
@@ -461,9 +571,11 @@ NSString* FindDeveloperDir() {
retinaDevice = NO;
tallDevice = NO;
+ is64BitDevice = NO;
exitOnStartup = NO;
alreadyPrintedData = NO;
startOnly = strcmp(argv[1], "start") == 0;
+ deviceTypeId = nil;
nsprintf(@"<query_result>");
for (int i = 0; i < argc; ++i) {
@@ -494,6 +606,9 @@ NSString* FindDeveloperDir() {
if (strcmp(argv[1], "showsdks") == 0) {
[self LoadSimulatorFramework:developerDir];
exit([self showSDKs]);
+ } else if (strcmp(argv[1], "showdevicetypes") == 0) {
+ [self LoadSimulatorFramework:developerDir];
+ exit([self showDeviceTypes]);
} else if (strcmp(argv[1], "launch") == 0 || startOnly) {
if (strcmp(argv[1], "launch") == 0 && argc < 3) {
msgprintf(@"Missing application path argument");
@@ -570,6 +685,9 @@ NSString* FindDeveloperDir() {
} else if (strcmp(argv[i], "--uuid") == 0) {
i++;
uuid = [NSString stringWithUTF8String:argv[i]];
+ } else if (strcmp(argv[i], "--devicetypeid") == 0) {
+ i++;
+ deviceTypeId = [NSString stringWithUTF8String:argv[i]];
} else if (strcmp(argv[i], "--setenv") == 0) {
i++;
NSArray *parts = [[NSString stringWithUTF8String:argv[i]] componentsSeparatedByString:@"="];
@@ -599,6 +717,8 @@ NSString* FindDeveloperDir() {
retinaDevice = YES;
} else if (strcmp(argv[i], "--tall") == 0) {
tallDevice = YES;
+ } else if (strcmp(argv[i], "--64bit") == 0) {
+ is64BitDevice = YES;
} else if (strcmp(argv[i], "--args") == 0) {
i++;
break;
diff --git a/src/tools/3rdparty/iossim/version.h b/src/tools/3rdparty/iossim/version.h
index d22dd94b8e..9a7e0c3453 100644
--- a/src/tools/3rdparty/iossim/version.h
+++ b/src/tools/3rdparty/iossim/version.h
@@ -1 +1 @@
-#define IOS_SIM_VERSION "1.9.0"
+#define IOS_SIM_VERSION "2.0.1"