Eccovi la guida che vi permetterà di effettuare lo sblocco ed il jailbreak del firmware 2.1 per l’iPhone Edge. Tutto ciò di cui avete bisogno per utilizzare in maniera corretta QuickPwn è:
- l’ultima versione di QuickPwn, la 2.1;
- il firmware 2.1 che potete scaricare da qui;
- iTunes 8.0;
- i file di Bootloader bl39.bin e bl46.bin
Come ben sapete, QuickPwn NON crea un custom firmware ma sblocca quello originale, quindi è necessario che sul vostro iPhone Edge abbiate installato il firmware 2.1 originale. Per installare il firmware 2.1 sul vostro iPhone dovrete collegare l’iPhone al pc e, quando si aprirà iTunes, dovrete cliccare sul tasto SHIFT della tastiera e contemporaneamente sul pulsante Ripristina di iTunes. Selezionate poi il firmware 2.1 originale che avete appena scaricato (come richiesto dai requisiti) ed aspettate il messaggio di avvenuto aggiornamento. Nel nostro caso, quello di un iPhone EDGE quindi, il telefono si accenderà con la schermata di SOLO EMERGENZE che è del tutto normale.
Step 1. Dopo aver installato il firmware 2.1 originale sul vostro iPhone, avviate QuickPwn ed assicuratevi che il dispositivo sia collegato al computer. Dopodichè, cliccate sulla freccina celeste presente in basso a destra nella prima schermata di QuickPwn.
Step 2. Cliccate sul tasto “Browse” per cercare e selezionare il firmware 2.1 che avete precedentemente scaricato sul vostro pc e, dopo che QuickPwn avrà verificato il software, cliccate sulla freccina celeste per proseguire.
Step 3. Dopo le dovute verifiche del firmware 2.1 da parte di QuickPwn, vi comparirà una schermata identica a quella che si vede nell’immagine sottostante, nella quale dovrete selezionare le seguenti opzioni: “Add Cydia”, “Add Installer”, “Unlock phone”. La quarta opzione, quella chiamata “Replace boot logos”, dovrete selezionarla solo se avete intenzione di cambiare le immagini che compaiono quando accendete o mettete in recovery mode l’iPhone, ovvero la mela ed il cavetto. Se non volete modificare le immagini di default, non spuntate il relativo quadratino. Cliccate sulla freccina celeste per proseguire.
Step 4. Nel passo successivo dovrete caricare i files di bootloader che avete precedentemente scaricato sul vostro computer. Cliccando su “Browse” quindi, cercate e selezionate dapprima “bl39.bin” e poi “bl46.bin”. Quando QuickPwn avrà verificato i due files, dovrete cliccare sempre sulla freccina celeste per proseguire con lo sblocco/jailbreak.
Step 5. A questo punto, il software vi chiederà nuovamente di assicurarvi che il vostro iPhone sia collegato al pc, e dopo aver confermato il suddetto collegamento, QuickPwn metterà il dispositivo in Recovery Mode. Sullo schermo compariranno i comandi che voi dovrete eseguire fisicamente sull’iPhone mentre QuickPwn terrà il conteggio dei secondi. Di seguito trovate le azioni che dovrete compiere sul dispositivo:
- “Hold down the Home button for 5 seconds”, tenete premuto il tasto Home per 5 secondi;
- “Hold down the Home and Power buttons for 10 seconds”, tenete premuti insieme i tasti Home e Power per 10 secondi;
- “Release the Power button and continue to hold Home for 30 seconds”, lasciate il tasto Power mentre mantenete premuto il tasto Home per altri 30 secondi.
Dopo aver eseguito questa procedura sull’iPhone, lo schermo del dispositivo diventerà bianco mentre nella finestra di QuickPwn scorrerrano tutte le informazioni di quello che il software sta svolgendo sul vostro iPhone. Contemporaneamente, sullo schermo del melafonino compariranno una serie di schermate relative appunto al jailbreak e, quando si riavvierà, vi ritroverete un iPhone Edge con firmware 2.1 sbloccato e funzionante (con le applicazioni Cydia e Installer).
// Logica completa dello shortcode 'app' function appstore_shortcode_logic($atts, $content = null) { // Attributi di default $atts = shortcode_atts(array( 'id' => '', 'img' => '', 'nome' => '', 'sottotitolo' => '', 'prezzo' => '', 'link' => '', 'store' => 'App Store', 'template' => '', 'inapp' => '', 'background' => '', 'link_icon' => '', ), $atts, 'card'); // Verifica del valore dell'attributo 'stile' $template_class = !empty($atts['template']) ? sanitize_html_class($atts['template']) : ''; // Verifica se il file JSON della cache esiste $cache_dir = '/srv/www/ispazio.net/www/wp-content/plugins/appstore_ispazio/app_cache/'; $cache_file = $cache_dir . "app_" . sanitize_key($atts['id']) . ".json"; // Determina se la cache è valida: JSON esiste, non scaduto E icona principale esiste sul disco $_app_id_check = sanitize_key($atts['id']); $_img_main_path = $cache_dir . "icon250_" . $_app_id_check . ".jpg"; $_cache_valid = file_exists($cache_file) && filesize($cache_file) > 0 && time() - filemtime($cache_file) < 31557600 && file_exists($_img_main_path); if ($_cache_valid) { $json = file_get_contents($cache_file); } else { // Interroga l'API di App Store e scarica il JSON utilizzando cURL $itunes_api_base = "https://itunes.apple.com/lookup?id=" . sanitize_key($atts['id']); $country_list = ['IT', 'US']; // puoi aggiungere altri paesi se vuoi $json = ''; $data = []; foreach ($country_list as $country) { $itunes_api_url = $itunes_api_base . "&country=" . $country; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $itunes_api_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0"); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json')); $json = curl_exec($ch); curl_close($ch); $data = json_decode($json, true); if (!empty($data['results'])) { break; // abbiamo trovato un risultato valido, fermiamo il ciclo } } if (isset($data['results'][0]['artworkUrl100'])) { $original_image_url = $data['results'][0]['artworkUrl100']; $new_image_url = str_replace('100x100bb.jpg', '250x250bb.jpg', $original_image_url); // Scarica e salva l'immagine dell'artwork sul tuo server $image_id = sanitize_key($atts['id']); $image_path = $cache_dir . "icon250_" . $image_id . ".jpg"; file_put_contents($image_path, file_get_contents($new_image_url)); if (function_exists('ispazio_convert_to_modern')) ispazio_convert_to_modern($image_path); // Modifica il JSON con l'URL dell'immagine dell'artwork sul tuo server $data['results'][0]['artworkUrl100'] = "https://www.ispazio.net/wp-content/plugins/appstore_ispazio/app_cache/icon250_" . $image_id . ".jpg"; // Crea anche versione 140px per template mini (retina 2x per 70x70) $icon140_path = $cache_dir . "icon140_" . $image_id . ".jpg"; if ( ! file_exists( $icon140_path ) && function_exists( 'imagecreatefromjpeg' ) ) { $src_img = @imagecreatefromjpeg( $image_path ); if ( $src_img ) { $dst_img = imagecreatetruecolor( 140, 140 ); imagecopyresampled( $dst_img, $src_img, 0, 0, 0, 0, 140, 140, imagesx( $src_img ), imagesy( $src_img ) ); imagejpeg( $dst_img, $icon140_path, 85 ); imagedestroy( $src_img ); imagedestroy( $dst_img ); if (function_exists('ispazio_convert_to_modern')) ispazio_convert_to_modern($icon140_path); } } // Sostituisci anche gli URL delle prime 4 immagini degli screenshot if (isset($data['results'][0]['screenshotUrls'])) { $screenshotUrls = $data['results'][0]['screenshotUrls']; $screenshotUrlsOnServer = array(); for ($i = 0; $i < min(count($screenshotUrls), 4); $i++) { $screenshotUrl = $screenshotUrls[$i]; $screenshotFilename = basename($screenshotUrl); $screenshotSavePath = $cache_dir . "screenshot_" . $image_id . "_" . $i . ".jpg"; // Scarica e salva l'immagine dello screenshot sul tuo server file_put_contents($screenshotSavePath, file_get_contents($screenshotUrl)); if (function_exists('ispazio_convert_to_modern')) ispazio_convert_to_modern($screenshotSavePath); // Modifica il JSON con l'URL dell'immagine dello screenshot sul tuo server $screenshotUrlsOnServer[] = "https://www.ispazio.net/wp-content/plugins/appstore_ispazio/app_cache/screenshot_" . $image_id . "_" . $i . ".jpg"; } // Aggiorna il JSON con gli URL delle immagini degli screenshot sul tuo server $data['results'][0]['screenshotUrls'] = $screenshotUrlsOnServer; } } // Salva il JSON nella cache solo se non è vuoto if (!empty($json)) { file_put_contents($cache_file, json_encode($data)); } } // Decodifica il JSON $data = json_decode($json, true); // Se il "nome" non è specificato nell'attributo, usa il trackName dal JSON $nome = isset($atts['nome']) && !empty($atts['nome']) ? $atts['nome'] : ($data['results'][0]['trackName'] ?? 'Scarica da App Store'); // Se il "sottotitolo" non è specificato nell'attributo, usa artistName dal JSON $sottotitolo = isset($atts['sottotitolo']) && !empty($atts['sottotitolo']) ? $atts['sottotitolo'] : ($data['results'][0]['artistName'] ?? ''); // Se il "prezzo" non è specificato nell'attributo, usa il formattedPrice dal JSON $formattedPrice = !empty($data['results'][0]['formattedPrice']) ? $data['results'][0]['formattedPrice'] : null; $prezzo = !empty($atts['prezzo']) ? $atts['prezzo'] : (!empty($formattedPrice) ? $formattedPrice : (!empty(trim($content)) ? trim($content) : 'OTTIENI')); // Se l'URL dell'immagine non è specificato nell'attributo, usa quello dal JSON $hide_image_class = ''; $card_body_style = ''; $container_style = ''; $container_extra_class = ''; if (isset($atts['img']) && trim($atts['img']) === 'scontiamolo') { $img = 'https://www.ispazio.net/wp-content/plugins/appstore_ispazio/app_cache/icon250_1506946624.jpg'; $container_extra_class = 'scontiamolo-mode'; } elseif (!empty($atts['img'])) { $img = $atts['img']; } else { $img = $data['results'][0]['artworkUrl100'] ?? "https://www.ispazio.net/wp-content/uploads/2022/10/appstore_icon.png"; } // Per template mini usa icon140 (70x70 retina) invece di icon250 if ( $template_class === 'mini' ) { $img = str_replace( 'icon250_', 'icon140_', $img ); } // Genera il link dell'app su App Store $link = !empty($atts['link']) ? $atts['link'] : "https://apps.apple.com/it/app/id" . $atts['id'] . "?platform=iphone"; $link_icon = !empty($atts['link_icon']) ? $atts['link_icon'] : $link; // HTML immagine con o senza effetto rotazione (in base a template) $img_html = ''; if (!empty($img)) { if ($template_class === 'striscia') { $img_html = '









































































































































































































































Accedi per lasciare un commento:
0 Commenti