How to use ioslib - 10 common examples

To help you get started, we’ve selected a few ioslib examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github appcelerator / tio2 / lib / suite.js View on Github external
if (thisSimHandle && thisSimHandle.simctl) {
							appc.subprocess.run(thisSimHandle.simctl, ['erase', thisSimHandle.udid], function () {
								logger.tio2('Resetting simulator');
							});
						};
						setTimeout(function () {
							next();
						}, 1000);
					} catch (ex) {
						next(new Error('Results are not valid JSON'));
						}
				} else if (inTiMochaResult && line) {
					tiMochaResults.push(line);
				}
			};
			emitter = ioslib.simulator.launch(null, {
					appPath: this.appDir,
					hide: true,
					logFilename: this.tiapp.guid + '.log'
				}, function(msg, simHandle) {
					thisSimHandle = simHandle;
				})
				.on('log-error', function (msg, simHandle) {
					// system log error messages
					logger.error('[' + simHandle.appName + '] ' + msg);
				})
				.on('log-debug', function (msg) {
					logger['tio2-debug']('[ioslib] '.magenta + msg.replace(/(?:(\[[^\]]+\]) )*/, function (m) { return m.magenta; }));
				})
				.on('log-file', watch)
				.on('app-quit', function (code) {
					if (code) {
github appcelerator / titanium_mobile / iphone / cli / hooks / run.js View on Github external
let simStarted = false,
				lastLogger = 'debug';
			const startLogTxt = __('Start simulator log'),
				endLogTxt = __('End simulator log'),
				levels = logger.getLevels(),
				trimRE = new RegExp('^.*' + builder.tiapp.name + '\\[[^\\]]+\\]\\s*', 'g'),
				logLevelRE = new RegExp('^(\u001b\\[\\d+m)?\\[?(' + levels.join('|') + '|log|timestamp)\\]?\\s*(\u001b\\[\\d+m)?(.*)', 'i');

			function endLog() {
				if (simStarted) {
					logger.log(('-- ' + endLogTxt + ' ' + (new Array(75 - endLogTxt.length)).join('-')).grey + '\n');
					simStarted = false;
				}
			}
			ioslib.simulator
				.launch(builder.simHandle, {
					appPath:            builder.xcodeAppDir,
					focus:              cli.argv['sim-focus'],
					iosVersion:         builder.iosSdkVersion,
					killIfRunning:      false, // it will only kill the simulator if the device udid is different
					launchBundleId:     cli.argv['launch-bundle-id'],
					launchWatchApp:     builder.hasWatchApp && cli.argv['launch-watch-app'],
					launchWatchAppOnly: builder.hasWatchApp && cli.argv['launch-watch-app-only'],
					logFilename:        builder.tiapp.guid + '.log',
					watchHandleOrUDID:  builder.watchSimHandle,
					watchAppName:       cli.argv['watch-app-name']
				})
				.on('log-file', function (line) {
					// Titanium app log messages
					if (!simStarted) {
						simStarted = true;
github appcelerator / titanium_mobile / iphone / cli / commands / _buildModule.js View on Github external
return function (finished) {
		ioslib.detect({
			// env
			xcodeSelect:       config.get('osx.executables.xcodeSelect'),
			security:          config.get('osx.executables.security'),
			// provisioning
			profileDir:        config.get('ios.profileDir'),
			// xcode
			searchPath:        config.get('paths.xcode'),
			minIosVersion:     iosPackageJson.minIosVersion,
			supportedVersions: iosPackageJson.vendorDependencies.xcode
		}, function (err, iosInfo) {
			this.iosInfo = iosInfo;
			this.xcodeEnv = this.iosInfo.selectedXcode;

			if (!this.xcodeEnv) {
				// this should never happen
				logger.error(__('Unable to find suitable Xcode install') + '\n');
github appcelerator / titanium_mobile / iphone / cli / commands / _build.js View on Github external
return function (done) {
		ioslib.detect({
			// env
			xcodeSelect: config.get('osx.executables.xcodeSelect'),
			security: config.get('osx.executables.security'),
			// provisioning
			profileDir: config.get('ios.profileDir'),
			// xcode
			searchPath: config.get('paths.xcode'),
			minIosVersion: iosPackageJson.minIosVersion,
			supportedVersions: iosPackageJson.vendorDependencies.xcode
		}, function (err, iosInfo) {
			this.iosInfo = iosInfo;

			// add itunes sync
			iosInfo.devices.push({
				udid: 'itunes',
				name: 'iTunes Sync'
github appcelerator / titanium_mobile / iphone / cli / lib / info.js View on Github external
exports.detect = function (types, config, next) {
	ioslib.detect({
		// env
		xcodeSelect: config.get('osx.executables.xcodeSelect'),
		security: config.get('osx.executables.security'),
		// provisioning
		profileDir: config.get('ios.profileDir'),
		// xcode
		searchPath: config.get('paths.xcode'),
		minIosVersion: iosPackageJson.minIosVersion,
		minWatchosVersion: iosPackageJson.minWatchosVersion,
		supportedVersions: iosPackageJson.vendorDependencies.xcode
	}, function (err, results) {
		if (err) {
			return next(err);
		}

		results.devices.unshift({
github appcelerator / tio2 / lib / suite.js View on Github external
})
				.on('exit', function () {
					// no need to stick around, exit
				})
				.on('error', function (err) {
					logger.error(err.message || err.toString());
					logger.log();
				});

		} else if (target === 'device') {
			// TODO: device

			var appName = this.tiapp.name + '.app',
				appPath = path.join(this.buildDir, 'build', 'iphone', 'build', 'Debug-iphoneos', appName);

			emitter = ioslib.device.install(this.deviceInfo.udid, appPath, this.tiapp.id)
				.on('installed', function (line) {
					logger['tio2-warn'](appName + ' installed, but cannot be launched automatically!!!');
				})
				.on('app-started', function (line) {
					logger['tio2-debug']('-- app-started');
				})
				.on('log', function (line) {
					line = line.replace(logLevelRegExp, '');
					if (line === self.tiTestStartMarker) {
						inTiMochaResult = true;
					} else if (inTiMochaResult && line === self.tiTestStopMarker) {
						emitter.removeListener('log', watch);
						emitter.removeListener('logFile', watch);
						try {
							self.results = tiMochaResults.length ? JSON.parse(tiMochaResults.join('\n').trim()) : {};
							next();
github appcelerator / tio2 / lib / suite.js View on Github external
function (cb) {
			// add iOS args
			if (this.platform !== 'ios') { return cb(); }

			this.iosVersion && args.push('--ios-version', this.iosVersion);

			if (this.target !== 'device') {
				return cb();
			}

			// find us a device
			ioslib.device.detect(function (err, deviceResults) {
				if (!deviceResults.devices.length) {
					// no devices connected
					return done(new Error('No iOS devices connected'));
				}

				ioslib.certs.detect(function (err, certResults) {
					var certs = [];
					Object.keys(certResults.certs.keychains).forEach(function (keychain) {
						var types = certResults.certs.keychains[keychain];
						Object.keys(types).forEach(function (type) {
							certs = certs.concat(types[type]);
						});
					});

					if (!certs.length) {
						return cb(new Error('No iOS certificates'));
github appcelerator / tio2 / lib / suite.js View on Github external
ioslib.device.detect(function (err, deviceResults) {
				if (!deviceResults.devices.length) {
					// no devices connected
					return done(new Error('No iOS devices connected'));
				}

				ioslib.certs.detect(function (err, certResults) {
					var certs = [];
					Object.keys(certResults.certs.keychains).forEach(function (keychain) {
						var types = certResults.certs.keychains[keychain];
						Object.keys(types).forEach(function (type) {
							certs = certs.concat(types[type]);
						});
					});

					if (!certs.length) {
						return cb(new Error('No iOS certificates'));
					}

					// find us a provisioning profile
					ioslib.provisioning.find({
						appId: self.tiapp.id,
						certs: certs,
github appcelerator / tio2 / lib / suite.js View on Github external
ioslib.certs.detect(function (err, certResults) {
					var certs = [];
					Object.keys(certResults.certs.keychains).forEach(function (keychain) {
						var types = certResults.certs.keychains[keychain];
						Object.keys(types).forEach(function (type) {
							certs = certs.concat(types[type]);
						});
					});

					if (!certs.length) {
						return cb(new Error('No iOS certificates'));
					}

					// find us a provisioning profile
					ioslib.provisioning.find({
						appId: self.tiapp.id,
						certs: certs,
						devicesUDIDs: deviceResults.devices.map(function (device) { return device.udid; })
					}, function (err, profiles) {
						if (err || !profiles.length) {
							return cb(new Error('No provisioning profiles found'));
						}

						var profile = profiles.shift(),
							deviceUDID = deviceResults.devices.filter(function (device) { return profile.devices.indexOf(device.udid) !== -1; }).shift().udid,
							certName = certs.filter(function (cert) {
								var prefix = cert.pem.replace(/^-----BEGIN CERTIFICATE-----\n/, '').substring(0, 60);
								return profile.certs.some(function (pc) {
									return pc.indexOf(prefix) === 0;
								});
							}).shift().name;
github appcelerator / titanium_mobile / iphone / cli / hooks / run.js View on Github external
.on('app-quit', function (code) {
					if (code) {
						if (code instanceof ioslib.simulator.SimulatorCrash) {
							logger.error(__n('Detected crash:', 'Detected multiple crashes:', code.crashFiles.length));
							code.crashFiles.forEach(function (f) {
								logger.error('  ' + f);
							});
							logger.error(__n('Note: this crash may or may not be related to running your app.', 'Note: these crashes may or may not be related to running your app.', code.crashFiles.length) + '\n');
						} else {
							logger.error(__('An error occurred running the iOS Simulator (exit code %s)', code));
						}
					}
					endLog();
					process.exit(0);
				})
				.on('exit', function () {

ioslib

iOS Utility Library

Apache-2.0
Latest version published 7 months ago

Package Health Score

63 / 100
Full package analysis