Classifique seus aplicativos pagos para iPhone e iPad

Tenho tentado classificar os aplicativos pagos e gratuitos que comprei para o meu iPhone e iPad, mas não encontrei nenhuma maneira de classificar isso nos dispositivos ou no aplicativo iTunes real.

Basicamente, estou tentando construir um banco de dados de meus aplicativos em meus dispositivos.

A única maneira de fazer isso que encontrei foi acessar minhas compras na minha conta no iTunes e clicar em cada recibo individual, e anotá-los, e como você não consegue nem baixar o recibo ou copiar e colar, é meio que sem utilidade.

Isso não seria tão ruim se eu não tivesse 27 páginas de aplicativos para ler.

Até liguei para o suporte da Apple e pedi que me enviassem por e-mail uma lista completa dos meus aplicativos, eles disseram que sim, mas nunca recebi.

Então, descobri uma maneira de obter uma lista de todos os meus IDs da Apple e converter essa lista em preços e títulos reais, e até calcular o valor total gasto na App Store.

Para que isso funcione, você precisa de todos os seus aplicativos baixados no iTunes. Portanto, você precisará ir para a loja do iTunes e clicar em não está na minha biblioteca e em baixar tudo.

Passo 1

#!/bin/bash

# get list of App Store IDS from iPhone/iPad/iPod touch apps
# note: this will only get the ones you have actually downloaded in your iTunes

for f in ~/Music/iTunes/iTunes Media/Mobile Applications/*.ipa; do
unzip -p "$f" "iTunesMetadata.plist" |

sed -En "/<key>itemId<\/key>/I,/<integer>/I!d;s/^.*<integer>(.+)<\/integer>.*$/\1/Ip"

done

Você os adicionaria a um arquivo de texto

./getids.sh > ids.txt

Em seguida, precisamos obter os preços e títulos correspondentes a esses IDs, e esta pequena classe nos ajudará a fazer isso.

Passo 2

<?php

class App {
public $id;
public $price;
public $title;

function __construct( $id = false, $country = 'US', $language = 'en_us' ) {
$this
->id = $id;
$this
->json = file_get_contents( 'http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStoreServices.woa/wa/wsLookup?country='.$country.'&lang='.$language.'&id='.$id );
$itunes
= json_decode( $this->json, true );
$itunes
= $itunes['results'][0];
$this
->price = $itunes['price'];
$this
->title = $itunes['trackCensoredName'];
}
}

A seguir, leremos a lista de ids gerada com o script bash.

<?php

include
"api.php";

$file
= 'ids.txt';

$fh
= fopen($file,'r');

while ($line = fgets($fh)) {

$id
= trim($line);
$app
= new App( $id );

if(!empty($app->title)) { // Apps that were removed have no title

if($app->price != 0) {
echo
'ID: ' . $app->id . ' Title: ' . $app->title . ' Price: $' . $app->price . "n";
}
}
}
fclose
($fh);
?>

E queremos enviar os dados para um arquivo

php grabprices.php > prices.txt

Agora temos um arquivo de texto com o id, título e preço dos aplicativos.

Bônus:

Para calcular o total do valor gasto na app store, aqui está um pequeno liner.

awk -F '$' '{sum += $2} END {print sum}' paid.txt | sed 's/^/$/; s/$/ Spent on the App Store/; s/(.*[0-9])([0-9]{3})/1,2/;t'

Github Link com todo o código aqui, além da lista de meus ids e preços como dados de amostra