Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: darione - Ottobre 27, 2020, 09:08:59 am

Titolo: Dritte su OSX
Inserito da: darione - Ottobre 27, 2020, 09:08:59 am
Salve a tutti,
ho scritto nel forum inglese ma chiedo anche a voi.

Qualcuno è esperto di sviluppo su Mac?

Brevemente, normalmente sviluppo in windows, ma mi sto aprendo anche al mondo mac. Ho installato Lazarus su OSX catalina (una macchina virtuale) e prodotto un mio programma con Lazarus. Ok, vorrei farlo scaricare dai miei clienti senza passare da apple store, perché è una cosa temporanea a non so se potrà andare avanti. L'ho messo su un mio sito ed i miei clienti lo scaricano da questo.

Ok, ma questi problemi:

1) Quando faccio scaricare lo zip con dentro la cartella del programma e tutte le sue cose, il mac marca come quarantena tutti i files unzippati, e così non avvia l'eseguibile. La cosa si risolve con il comando xattr così come si trova in rete nei forum, ma mi chiedevo se qualcuno di voi sapesse un metodo più consono per i clienti a cui devo farlo fare, che non sono esattamente programmatori e perciò è già difficile fargli intendere cosa sia un terminale ... qualcuno conosce un metodo tramite interfaccia utente per togliere questi attributi di quarantena?

2) altra cosa ... tolti gli attributi, ok il mio esegubile parte e funziona tutto, solo che vorrei installarlo tra le applicazioni del mac. Ho visto che installando ad esempio filezilla, lui ti fa veder una finestra dove tu trascini la cartella in applicazioni e così si installa. Non ho capito bene se questa è una funzione a livello di sistema operativo o no, voi sapete indicarmi qualcosa? come faccio a fare mettere sotto applicazioni il programma ad un utente normale? certo non può usare il programma dalla cartella download dove lo ha scariato ed unzippato ...

Grazie mille per le dritte
DARIONE
Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 27, 2020, 10:23:20 am
Ciao Darione, io programmo con lazarus su mac da qualche anno ormai. Allora, per la prima domanda si tratta di un controllo del sistema operativo. O fai come dici tu, oppure dopo che hai lanciato la tua applicazione per la prima volta (quando ti dice che non è un software di uno sviluppatore identificato per intenderci) basta che vai in Preferenze di sistema -> Sicurezza e privacy -> nella tab generali in fondo ti dovrebbe permettere di riconoscere l'app come valida. Io faccio sempre così.

Per la seconda domanda, gli installer che hai visto non fanno altro che copiare il tuo applicativo nella cartella /Applications/
Titolo: Re:Dritte su OSX
Inserito da: nomorelogic - Ottobre 27, 2020, 10:43:34 am
ciao Darione

sai consigliarmi una guida per installare Sierra OSX in virtualbox?

Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 27, 2020, 11:39:19 am
Prima di addentrarvi nella programmazione su Mac ricordatevi alcune cose:

1. Fino a qualche tempo fa con lazarus potevi programmare solo con i widgets carbon (32 bit) (che nelle nuove versioni mac osx non sono più supportati) ora fortunatamente lazarus permette di compilare anche per cocoa (64 bit) (i nuovi widgets). Tutte le ultime versioni di mac os precedenti a Catalina (ovvero la versione 10.15) supportano entrambi i widgets.

2. Ricordatevi che i prossimi modelli di computer mac passeranno da processori intel a processori arm.

Titolo: Re:Dritte su OSX
Inserito da: nomorelogic - Ottobre 27, 2020, 12:16:55 pm
diciamo che era una mia curiosità

quindi se non ho capito male
1) se installo una VM attuale (catalina) devo compilare per cocoa 64bit

2) fpc già compila per arm, sai se comunque dovrammo modificare qualcosa per compilare per mac?
Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 27, 2020, 12:21:31 pm
Io consiglio di usare fpcupdeluxe per installare la versione cocoa x86 per il momento. Quando usciranno quelli con arm si userà un cross compilatore sempre installato con fpcupdeluxe.
Così facendo dovresti essere tranquillo.
Titolo: Re:Dritte su OSX
Inserito da: nomorelogic - Ottobre 27, 2020, 12:33:52 pm
delle licenze per VM sai qualcosa?
Titolo: Re:Dritte su OSX
Inserito da: darione - Ottobre 27, 2020, 01:31:43 pm
Ciao e grazie mille per le dritte.

O fai come dici tu, oppure dopo che hai lanciato la tua applicazione per la prima volta (quando ti dice che non è un software di uno sviluppatore identificato per intenderci) basta che vai in Preferenze di sistema -> Sicurezza e privacy -> nella tab generali in fondo ti dovrebbe permettere di riconoscere l'app come valida. Io faccio sempre così.
Purtroppo è già in Anywhere. Non sono certissimo, vado a memoria, ma quando avevo Sierra in macchina virtuale, faceva come dici tu, ma passato poi a HighSierra, è cambiata la cosa e non basta più mettere Anywhere, che infatti prima avevo in Sierra e non avevo problemi ... questi attributi di marcatura mi sembra sono venuti dopo. Correggimi se sbaglio, ma che S.O hai tu? può darsi mi sbagli, comunque sul catalina non camiba, protegge con la marcatura di attributo e non esegue finché non dai il comando xattr ...

Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 27, 2020, 01:36:27 pm
Io sul pc di casa ho HighSierra e funziona così
Ciao e grazie mille per le dritte.

O fai come dici tu, oppure dopo che hai lanciato la tua applicazione per la prima volta (quando ti dice che non è un software di uno sviluppatore identificato per intenderci) basta che vai in Preferenze di sistema -> Sicurezza e privacy -> nella tab generali in fondo ti dovrebbe permettere di riconoscere l'app come valida. Io faccio sempre così.
Purtroppo è già in Anywhere. Non sono certissimo, vado a memoria, ma quando avevo Sierra in macchina virtuale, faceva come dici tu, ma passato poi a HighSierra, è cambiata la cosa e non basta più mettere Anywhere, che infatti prima avevo in Sierra e non avevo problemi ... questi attributi di marcatura mi sembra sono venuti dopo. Correggimi se sbaglio, ma che S.O hai tu? può darsi mi sbagli, comunque sul catalina non camiba, protegge con la marcatura di attributo e non esegue finché non dai il comando xattr ...
Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 27, 2020, 01:40:16 pm
delle licenze per VM sai qualcosa?

Tu parli di realizzare un hackintosh.

OS X, per intenderci, è il sistema operativo di Apple, quello montato sul Mac, iMac, Macbook, Mac Pro…

Ed Apple non è molto contenta se viene usato su un pc! E’ una violazione dei diritti, almeno per quello che ne so io.

In teoria puoi virtualizzare OSX ma solo su hardware apple (questo non viola nulla).
Titolo: Re:Dritte su OSX
Inserito da: darione - Ottobre 27, 2020, 01:55:05 pm
Io su Catalina ho la scelta "Allow apps donwloaded from:"
App Store
App Store and identified developers
Anywhere

e l'ultimo è quello flaggato, ma ugualmente se scarico mi mette gli attributi di quarantena su files.
Comunque mi ricordo che prima non lo faceva, ma quando poi lo aggiornai cominciò a farlo anche a me ...
Ti mando il link nei prossimi giorni, così provi a scaricare il mio programma e vediamo come ti si comporta .. magari è qualcosa che accade nel mio pc quando zippo? boh ...

Darione

Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 27, 2020, 02:03:14 pm
Va bene, dimmi poi quando devo fare delle prove
Titolo: Re:Dritte su OSX
Inserito da: nomorelogic - Ottobre 27, 2020, 04:33:13 pm
delle licenze per VM sai qualcosa?
Tu parli di realizzare un hackintosh.

in realtà vorrei solo preparare una VM solo che non vorrei violare qualche licenza
ho saputo che scaricando l'ISO apple con un ID valido va bene
Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 28, 2020, 08:39:49 am
delle licenze per VM sai qualcosa?
Tu parli di realizzare un hackintosh.

in realtà vorrei solo preparare una VM solo che non vorrei violare qualche licenza
ho saputo che scaricando l'ISO apple con un ID valido va bene
Potrei sbagliarmi ma se la macchina virtuale non è su hardware apple è comunque illegale. Sarebbe da chiedere a qualcuno che è più ferrato sul discorso licenze.
Titolo: Re:Dritte su OSX
Inserito da: darione - Ottobre 28, 2020, 09:30:04 am
Si, penso che per la virtualizzazione occorra hardware mac per non incorrere in violazione di licenze. La cosa migliore (ma più costosa) è un vero mac con dentro windows virtualizzato..

Se puoi testare lo scaricamento del programma (è in corso di sviluppo, l'avevo stoppato e l'ho ripreso da poco, ed ha ancora vari bugs, comunque gira), ecco il link:

http://cercatrova.altervista.org/download-now.php

Io ho questa macchina virtuale che mi creai tempo addietro, mi pare fosse un Sierra. Poi c'ho sempre fatto sopra l'aggiornamento del sistema operativo (ora ho Catalina appunto) e mi ricordo che all'inizio non c'era il problema della marcatura attributi, poi saltò fuori improvvisamente ...

Per le librerie grafiche: avevo il High Sierra e girava, ma poi passando al mac mini che aveva Catalina, ho visto che non partiva, il motivo erano le librerie grafiche a 32bit ... quindi ho aggiornato la macchina virtuale e reinstallato tutto lazarus, cercato nei forum cosa fare per compilare per osx a 64bit, ed alla fine è andata davvero bene, in una sola giornata, quando ero già preparato a vari mal di pancia per giorni e giorni.
La volta prima ebbi problemi col gdb, stavolta no perché hanno cambiato debugger e non ha dato problemi.

Darione

Titolo: Re:Dritte su OSX
Inserito da: nomorelogic - Ottobre 28, 2020, 06:57:31 pm
2. Ricordatevi che i prossimi modelli di computer mac passeranno da processori intel a processori arm.

ma sei sicuro di questa cosa?
processori arm?  :o
Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 28, 2020, 07:45:47 pm
Sicuro
Titolo: Re:Dritte su OSX
Inserito da: darione - Ottobre 28, 2020, 10:10:48 pm
Si, hanno fatto una comunicazione ufficiale in Apple.
A quanto pare poi ci sarà uno strato di compatibilità a livello software  x fare girare ad esempio macchjne virtuali x86.
Si, son rimasto basito io pure ... ma si torna tipo ai tempi del powerpc? Mah!
Mi sarei aspettato l'amd ... invece arm ... mah.

Non ho capito nulla su quel fpcdelux, ma cosa sarebbe?

Hai provato mica a scaricare dal link che ti ho girato?
Darione
Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 29, 2020, 07:27:54 am
Ciao Darione, ieri non ci sono riuscito. Lo farò questa sera
Titolo: Re:Dritte su OSX
Inserito da: darione - Ottobre 29, 2020, 11:22:49 am
Ciao xinyiman,
visto che ce l'ho incanna perché ho riattivato il mac min qua in ufficio per altre cose ... ho provato a scaricarci il mio programma ...

Qua sul Mac mini c'è Catalina ... a dire il vero l'opzione "anywhere" non veniva nemmeno tra le possibilità del System Preference -> Security & Privacy. Non me lo ricordavo ma evidentemente va attivata in qualche modo ...

Infatti googlizzando ho trovato che si fa venire in questo modo:https://www.imore.com/how-open-apps-anywhere-macos-catalina-and-mojave

Ovvero col comando:
sudo spctl --master-disable

e allora compare "Anywhere" come possibilià.

Abiltata quella (a dire il vero me l'ha flaggata da solo dopo il comando), ho provato a scaricare il mio programma dall'indiizzo che vi ho passato.

Stesso comportamento, cioè non me lo fa eseguire fino a che entrando nel terminale, nella cartella del programma, non faccio

xattr -c *

Per comodità * così toglie l'attributo @ a tutti i files, anche se bastava all'eseguibile ...

Ecco a questo punto parte correttamente, altrimenti si rifiuta. D'altra parte, un modo di evitare virus nel mac è anche questa politica di non fare installare nulla che non passi dallo store apple, si sa, e quindi scoraggiano il più possibile l'installazione diretta di programmi. Poi ovviamente perchè così intascano soldi dallo store.

Ed infatti, vai a spiegare all'utente non esperto cosa vuol dire aprire un terminale, e dare il comando giusto, non è mai semplice ... comunque insomma è fattibile, e menomale, perché se un programma non è ad uno stadio da poter essere venduto, uno in qualche modo potrà pure farlo installare in qualche modo ...

Darione
Titolo: Re:Dritte su OSX
Inserito da: xinyiman - Ottobre 29, 2020, 01:31:55 pm
Provato a casa durante la pausa pranzo. Posso dirti che se lo apro dal bundler non parte nulla. Se invece lo avvio da console funziona correttamente. E' strano perchè è la prima volta che succede.