martedì 17 novembre 2015

Sviluppare applicazioni in XCode 7 senza Apple Developer Account - iPhone, iPod, iPad


  1. In XCode, aggiungere il proprio IdApple in XCode -> Preferences -> Account, come spiegato nel sito ufficiale Apple
  2. Nel project navigator, selezionare il progetto, quindi spostarsi nella scheda General
  3. Alla voce Team, selezionare l'account aggiunto precedentemente
  4. Collegare il device al Mac e selezionarlo come dispositivo di debug
  5. Sotto alla voce Team, dovrebbe essere apparso un pulsante "Fix Issue" (se così non fosse, cambiare schermata e riprovare)
  6. Una volta premuto su "Fix Issue", lanciate il debug e la vostra app verrà installata
  7. A questo punto, dovrete abilitare l'account da sviluppatore nel device, come spiegato nella guida ufficiale Apple

sabato 27 giugno 2015

Usare Whatsapp contemporaneamente su iPhone e iPad con iOS 8.x

Il tutto è possibile grazie al servizio https://web.whatsapp.com/ utlizzando un Fake User Agent per accedere da iPad.
Occorrente:
  1. Abilitare Whatsapp Web su iPhone
    Whatsapp web è ancora disponibile solo per sistemi Android. Il primo passo sarà quindi quello di abilitare il servizio web su iOS utilizzando un tweak di Cydia. Su Cydia, installare il pacchetto "WhatsApp Web Enabler" dalla repo di BigBoss:
  2. Modificare l'User Agent di Safari
    Whatsapp Web riconosce l'User Agent del browser, e nega l'accesso alla versione mobile di Safari installata di default su tutti gli iDevice. Se infatti si prova ad andare su https://web.whatsapp.com da iPad, otterremo il seguente messaggio:
    Andremo quindi a inserire un fake User Agent in modo da far credere al servizio che stiamo accedendo da un pc con un desktop-browser.
    1. Installare iTunes, andare in Modifica > Preferenze > Dispositivi e spuntare la voce "Impedisci a iPod, iPhone e iPad di sincronizzare automaticamente
    2. Collegare l'iPad ed effettuare sincronizzazione e backup completo. Al termine, chiudere iTunes
    3. Scaricare ed installare iBackupBot for Windows o Mac (a noi ci basta la versione di prova)
    4. Avviare iBackupBot e selezionare il backup più recente in cima alla lista nel pannello a sinistra:
    5. Espandere "User App Files" > "com.apple.mobilesafari" > "Library" > "Preferences"
    6. Aprire facendo doppio click il file "com.apple.mobilesafari.plist" nel riquadro centrale. Cliccare su "Cancel" nella finestra di dialogo che appare:
    7. Alla fine del file, subito prima di "</dict>", aggiungere la stringa dello User Agent:
      <key>UserAgent</key>
      <string>Mozilla/5.0(Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/535.11</string>

      N.B.: La stringa dello User Agent può essere impostata a piacere tra migliaia che potete trovare al seguente link: User Agent string list
    8. Salvare e chiudere il file
    9. Premere il pulsante "Restore" in alto, sempre nel riquadro centrale
    10. L'iPad si riavvierà. Per verificare che il procedimento sia andato a buon fine, potete controllare su What's My User Agent? se la stringa restituita è uguale a quella impostata.
  3. Avviare il servizio su iPad
    1. Aprire Safari in iPad, andare su https://web.whatsapp.com/
    2. Avviare Whatsapp, andare nel tab Impostazioni, poi nella nuova sezione Whatsapp Web:
    3. Scannerizzate il QRCode apparso nell'iPad. Adesso potete accedere a Whatsapp anche da iPad!

sabato 16 maggio 2015

Sviluppare applicazioni in XCode 6 - 6.1 senza Apple Developer Account

Per chi vuole sviluppare app per iOS in proprio e testarle sui propri dispositivi senza venderle in AppStore, ecco una comoda guida che spiega come fare.
  1. In Applicazioni/Xcode (Mostra contenuto pacchetto)/Contents/Developer/Platforms/ scegliere la cartella corrispondente alla piattaforma di sviluppo (nel mio caso, iPhone, quindi iPhoneOS.platform)
  2. Copiare il file Info.plist nella Scrivania e modificare le seguenti voci:
    • DefaultProperties/CODE_SIGN_CONTEXT_CLASS inserire XCCcodeSignContext
  3. Salvare e rimettere Info.plist nella cartella originale
  4. In /Developer/SDKs scegliere l'iOS di sviluppo (nel mio caso, iOS 8.1, quindi iPhoneOS8.1.sdk)
  5. Copiare il file SDKSettings.plist nella Scrivania e modificare le seguenti voci:
    • DefaultProperties/AD_HOC_CODE_SIGNING_ALLOWED inserire YES
    • DefaultProperties/CODE_SIGNING_REQUIRED inserire NO
    • DefaultProperties/ENTITLEMENTS_REQUIRED inserire NO
  6. Salvare e rimettere nella cartella originale
  7. Riavviare XCode e creare/aprire un progetto qualsiasi
  8. Cliccare nel nome del progetto nella barra a sinistra, in Build Settings/Code Signing/Code Signing Identity cambiare tutte le voci in "Ad Hoc Code Signing"
  9. File -> New -> File -> Resource -> Property List e inserire come nome Entitlements
  10. Aggiungere una nuova chiave cliccando sul + Can be debugged e impostare il valore su YES
  11. In Build Settings/Code Signing/Code Signing Entitlements/Debug aggiungere cliccando sul + una nuova voce e mettere Entitlements.plist
Adesso potete compilare e debuggare  applicazioni anche su iDevice jailbroken con installato AppSync Unified di AngelXWind (repo di AngelXWind). Non usare altre versioni di AppSync e se già le avete installate, rimuovetele.