woensdag 15 februari 2012

Flex Mobile op Android en iOS


Met Adobe Flex kun je één programma schrijven, en dat verspreiden op zowel Android als iOS.

Om je applicatie op Android te testen, volstaat een certificaat dat in Flex zelf kan gegenereerd worden.

Voor iOS is het een stuk moeilijker. Flex heeft een p12 bestand, een provisioning profile en een certificate password nodig om iOS apps te kunnen compileren.

Meld je aan op http://developer.apple.com en ga naar het Provisioning Portal (let op: gebruik bij voorkeur Chrome als webbrowser).

Eerst moet je je test toestellen toevoegen. Klik op Devices, kies een naam en voeg de Device ID toe. Deze ID kun je vinden door met je toestel naar de mobiele website http://m.diawi.com te surfen. Je kunt maximaal 100 toestellen toevoegen.

De volgende stap bestaat er in om het Signing Certificate en het Mobile Provisioning Profile te genereren. Op een Mac is dit simpel (via de keychain toepassing). In Windows gebruiken we OpenSSL hiervoor.

Download en installeer OpenSSL Light op http://www.slproweb.com/products/Win32OpenSSL.html.
Best mogelijk dat je ook de C++ Redistributables moet bij installeren.

Open een command prompt en verander de directory naar C:\OpenSSL-Win32\bin.

Tik dan:

set RANDFILE=.rnd
set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg

(uiteraard pas je het pad aan als je OpenSSL ergens anders hebt geplaatst).

Nu genereer je je private key. Tik:

openssl genrsa -out mykey.key 2048

En dan:

openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest -subj "/emailAddress=mijnemail@domein.com, CN=MIJNFIRMA, C=LANDCODE"

Pas uiteraard de voorbeeldparameters aan.

Ga dan naar Certificates in het Provisioning Portal. Klik op de "Request Certificate" knop.

Upload het bestand "CertificateSigningRequest.certSigningRequest" and start het generatieproces van het certificaat.

Download het gegenereerde certificaat (developer_identity.cer) in de OpenSSL-Win32\bin directory.

De volgende stap is het omvormen van dit .CER bestand naar een P12 certificaat:

openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM

En dan:

openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12

Kies een paswoord en onthoud het goed. Vervolgens wordt het bestand "iphone_dev.p12" aangemaakt. Dit is het eerste bestand dat we nodig hebben.

Om een mobile provisioning file te maken, moeten we eerst een App ID aanmaken. Ga naar de App ID sectie op het Provisioning Portal.

Kies New APP ID, tik een beschrijving en gebruik "*" als bundle identifier.

Nu koppelen we alles aan elkaar. Ga naar Provisioning en kies New profile. Kies een naam voor het profiel, het certificaat dat moet gebruikt worden, de AppID en de toestellen waarop je de applicatie wilt laten draaien. Kies Submit en download de .provisioning file naar de OpenSSL-Win32\bin directory.

Je hebt nu voldoende gegevens op via Flex een IPA bestand aan te maken. Om een test link naar je gebruikers te sturen, kun je de website http://www.diawi.com gebruiken.

dinsdag 10 januari 2012

Over oplichting (deel 2)

M'n vrouw was al een tijdje op zoek naar een nieuwe telefoon, en liet haar oog vallen op een Samsung Galaxy S2. Een mooi toestel, maar vrij prijzig in ons land. Kan dat goedkoper? Uiteraard. Even kijken naar de Duitse buren, waar je met de lagere BTW vaak koopjes kunt scoren.

Dankzij de vele prijszoekmachines is het niet zo moeilijk om tegenwoordig de goedkoopste leverancier te vinden voor een bepaald toestel. Dat bleek in dit geval "top-phone.de" te zijn, die het toestel voor 100 euro minder dan in België in de etalage had staan. Omdat het toch om veel geld gaat, vraagt mij vrouw om alles nog eens te dubbelchecken. Oplichters zijn immers nooit ver weg op het internet, en ik had er vroeger al eens mee te maken (zie oudere post).

Om scammers te onderscheiden van échte handelaren, zijn er een aantal dingen die je kunt nakijken. Ziet de website er professioneel uit? Is er een winkelkarretje of moet je de bestelling op een amateuristische manier via mail plaatsen? Is er een betalingsmodule, of moet je geld overmaken via Western Union? Heeft de webwinkel een winkelcertificaat? Is er een hotline of support nummer en e-mail adres? Zit er een bedrijf achter de website met een registratienummer? Dit bleek allemaal dik in orde te zijn.

Ik zocht voor de volledigheid nog even op reviews van deze winkel, en kon een drietal goede ervaringen terugvinden op een forum. Dus: bestelling geplaatst, keurig een mail gehad met betaalinstructies, de internationale overschrijving gedaan en enkele dagen later ook netjes bericht gehad dat het geld was aangekomen. Een weekje nadien kreeg ik de melding dat het bestelde toestel wegens de eindejaarsdrukte was uitverkocht en dat ik wat geduld moest hebben. Ik vond dat begrijpelijk, maar mijn vrouw begon onraad te ruiken.

Vanaf dan liep het mis. Mails werden niet meer beantwoord, en de hotline was steeds bezet, élke dag. Bij m'n vrouw ging nu een alarm af. Ze zocht op internet naar de firma die achter de winkel schuil gaat ("Huctec") en... shit. Er komen een aantal positieve verhalen bovendrijven, maar toch overwegend klachten van mensen die erg lang op hun toestel moesten wachten - of erger: hun toestel nooit kregen.

Ik heb al zó vaak dingen op internet besteld en daarbij steeds een aantal regels gevolgd om te kijken of het allemaal wel kosjer was. Maar nu duiken er dus ook websites op die 100% in orde zijn, die open en bloot hun adres en rekeningnummer op internet plaatsen, maar toch oplichters blijken te zijn! Ik heb uiteraard de mensen van het winkelkeurmerk ("Euro Label") aangeschreven en kreeg keurig een case-nummer met de melding dat ik binnen de drie dagen antwoord zou krijgen. Wat denk je: nooit meer iets van deze mensen gehoord, ook niet na een reminder. Daar sta je dan met je label.

Uiteindelijk besloten ik en mijn vrouw om de winkel de hele dag door te bestoken met mails om ons geld terug te vragen. Groot was dan ook onze verrassing toen we plots de melding kregen dat de zending was vertrokken. Pas na een nieuw mailbombardement om ook het tracking-nummer te pakken te krijgen, steeg het vertrouwen weer. Het pakje was inderdaad onderweg en werd na een week geleverd.

Tussen de besteldatum en de leverdatum lag uiteindelijk bijna een maand, terwijl de levertermijn 1-3 dagen was. Mijn vrouw heeft nu wel veel geld gespaard, maar wie weet wat er was gebeurd als we niet zo hadden aangedrongen... in het vervolg dus niet twee, maar drie keer nadenken!