function profile_service_payload($challenge) { $payload = general_payload(); $payload['PayloadType'] = "Profile Service"; // do not modify $payload['PayloadIdentifier'] = "com.runthisapp.mobileconfig.profile-service"; // strings that show up in UI, customisable $payload['PayloadDisplayName'] = "RunThisApp Profile Service"; $payload['PayloadDescription'] = "Install this profile to allow applications deployement from RunThisApp"; $payload_content = array(); $payload_content['URL'] = Tools::rel2abs('/profile.php?key=' . $_GET['key'], Tools::current_url()); $payload_content['DeviceAttributes'] = array('UDID', 'VERSION', 'PRODUCT', 'MAC_ADDRESS_EN0', 'DEVICE_NAME', 'IMEI', 'ICCID'); if (!empty($challenge)) { $payload_content['Challenge'] = $challenge; } $payload['PayloadContent'] = $payload_content; $plist = new CFPropertyList(); $td = new CFTypeDetector(); $cfPayload = $td->toCFType($payload); $plist->add($cfPayload); return $plist->toXML(true); }
function generateDownloadPlistFile($version) { $payload_assets_content = array(); $payload_assets_content['kind'] = 'software-package'; $payload_assets_content['url'] = Tools::rel2abs(UPLOAD_PATH . $version->getToken() . '/app_bundle.ipa', Tools::current_url()); $payload_content = array(); $payload_content['assets'] = array($payload_assets_content); $payload_metadata_content = array(); $payload_metadata_content['bundle-identifier'] = $version->getApplication()->getBundleId(); $payload_metadata_content['kind'] = 'software'; $payload_metadata_content['title'] = $version->getName(); $payload_content['metadata'] = $payload_metadata_content; $payload = array(); $payload['items'] = array($payload_content); $plist = new CFPropertyList(); $td = new CFTypeDetector(); $cfPayload = $td->toCFType($payload); $plist->add($cfPayload); $data = $plist->toXML(true); $my_file = __DIR__ . '/' . UPLOAD_PATH . $version->getToken() . '.plist'; $handle = fopen($my_file, 'w') or die('Cannot open file: ' . $my_file); fwrite($handle, $data); }
$device = $invitation->getDevice(); if ($device == NULL) { $device = new Device(); } $device->setName($plistData['DEVICE_NAME']); $device->setDateCreation(new \DateTime("now")); $device->setSystemVersion($plistData['VERSION']); $device->setModel($plistData['PRODUCT']); $device->setUdid($plistData['UDID']); $device->addInvitation($invitation); $device->setTester($tester); $invitation->setStatus(Invitation::STATUS_UDID); $entityManager->persist($device); $entityManager->persist($invitation); $entityManager->flush(); //Send the confirmation email $smtp = Swift_SmtpTransport::newInstance($CRED_SMTP, $CRED_SMTP_PORT, 'ssl')->setUsername($CRED_SMTP_USR)->setPassword($CRED_SMTP_PWD); $mailer = Swift_Mailer::newInstance($smtp); $url = Tools::rel2abs('runthisapp.php', Tools::current_url()); $msg = 'Click on following link to install your app: '; $udid = $device->getUdid(); $mail = $device->getTester()->getEmail(); $token = $_GET['key']; $app = $invitation->getVersion()->getName(); $ver = $invitation->getVersion()->getVersion(); $result = send_link_mail($mailer, $url, $app, $ver, $msg, $mail, $udid, $token); // Error if ($result != 1) { error_log('RTA::Error sending email', 0); die; }
<div class="column first"> <div class="boxheader"> <h2>Manage Applications</h2> </div> <div> <a href="application_new.php">Upload a new binary (IPA)</a> <h3 class="underline"> </h3> <?php echo '<ul>'; foreach ($applications as $application) { echo '<li>Application: <br/>' . '->bundle name: ' . $application->getBundleName() . '<br />' . '->bundle id: ' . $application->getBundleId() . '<br />' . '->icon: <img src="' . '../' . UPLOAD_PATH . $application->getBundleId() . '.png"><br />'; echo '<ul>'; foreach ($application->getVersions() as $version) { echo '<li>Version:<br/>' . '->version: ' . $version->getVersion() . '<br />' . '->date upload: ' . $version->getDateUpload()->format(DEFAULT_DATETIME_FORMAT) . '<br />' . '->app link: <a href="' . Tools::rel2abs('../app/' . $version->getToken() . '/app_bundle.ipa', Tools::current_url()) . '">' . $version->getName() . '.ipa</a><br />' . '->install on device: <a href="itms-services://?action=download-manifest&url=' . Tools::rel2abs('../app/' . $version->getToken() . '.plist', Tools::current_url()) . '">Install on device</a></li>' . PHP_EOL; } echo '</ul>' . PHP_EOL; } echo '</ul>' . PHP_EOL; ?> </div> </div> <div class="column last"> <div class="boxheader"> <h2>Deployment steps</h2> </div> <div class="function"> <h6>Send Invitations</h6>