Fatti:
A.
A._, nato nel 1970, ha presentato in data 3 marzo 2015 presso l'Ufficio assicurazione invalidità del Cantone Ticino (di seguito UAI) una richiesta di prestazioni. Con decisione del 12 ottobre 2017 l'UAI ha posto il richiedente al beneficio di un quarto di rendita dal 1° settembre 2015.
B.
L'assicurato si è rivolto al Tribunale delle assicurazioni del Cantone Ticino con ricorso del 7 novembre 2017 postulando quanto segue: "Il ricorso è accolto. Conseguentemente la decisione avversata è annullata e l'incarto è rinviato per istruttoria all'UAI alfine che abbia ad accertare quanto riportato nei considerandi, segnatamente in punto alla capacità funzionale dell'assicurato, posto come in tutti i casi debba essere riconosciuto a favore del medesimo almeno una mezza rendita di invalidità". Con giudizio dell'8 novembre 2018, il Tribunale cantonale ha accolto il ricorso e posto A._ al beneficio di una mezza rendita d'invalidità dal 1° settembre 2015.
C.
A._ ha inoltrato un ricorso in materia di diritto pubblico davanti al Tribunale federale chiedendo, previo accoglimento del ricorso e annullamento della decisione avversata, che l'incarto sia rinviato al Tribunale cantonale perché abbia a determinarsi ai sensi dei considerandi.

Diritto:
1.
Il ricorrente postula l'ammissione del gravame e, riferendosi alla motivazione ricorsuale, il rinvio della causa all'UAI per nuovi accertamenti. Così facendo l'insorgente disattende che il ricorso in materia di diritto pubblico è di natura riformatoria e non cassatoria (<ref-law>). Sulla base delle motivazioni contenute nel memoriale di ricorso, si può comunque dedurre che conclude per il riconoscimento di una prestazione superiore a quanto stabilito dai giudici cantonali. Il ricorso è quindi ammissibile, viste le sue conclusioni interpretate secondo la motivazione ricorsuale (cfr. <ref-ruling> consid. 1.3 pag. 317; <ref-ruling> consid. 1.2 pag. 135).
2.
Il ricorso in materia di diritto pubblico può essere presentato per violazione del diritto, così come stabilito dagli art. 95 e 96 LTF. Il Tribunale federale esamina d'ufficio l'applicazione del diritto federale (<ref-law>), non essendo vincolato né dagli argomenti sollevati nel ricorso né dai motivi addotti dall'autorità precedente. Tuttavia, tenuto conto dell'onere di allegazione e motivazione imposto dall'art. 42 cpv. 1 e 2 LTF (sulle esigenze di motivazione cfr. <ref-ruling> consid. 2 pag. 88 seg. con riferimenti), esso considera di regola solo gli argomenti proposti nell'atto di ricorso (<ref-ruling> consid. 2 pag. 89 con riferimenti).
3.
3.1. Il Tribunale cantonale ha ritenuto che l'assicurato presentava un'incapacità di lavoro del 50% in un'attività adeguata, da cui derivava, fondandosi su un raffronto dei redditi prima e dopo l'invalidità, una perdita di guadagno del 52%, rispettivamente del 55%, che apre il diritto a una mezza rendita d'invalidità. Per quanto riguarda la capacità di lavoro residua, il Tribunale cantonale ha esposto che "la questione medica non necessita ulteriore approfondimento dal momento, come indicato di seguito (n.d.r sulla base del raffronto dei redditi), con un'abilità al 50% in attività adeguate l'assicurato presenta il diritto ad una mezza rendita come postulato con il ricorso". Il Tribunale cantonale ha quindi rinunciato ad esaminare quale fosse l'incapacità di lavoro dell'assicurato, limitandosi, dopo avere elencato acriticamente i diversi rapporti medici agli atti, a prendere atto che l'insorgente aveva postulato il riconoscimento di una mezza rendita. In altre parole, il giudizio cantonale è privo di qualsiasi motivazione relativa all'abilità lavorativa dell'assicurato.
3.2. Nella sua memoria ricorsuale davanti al Tribunale federale l'insorgente fa valere di avere chiesto con il ricorso del 7 novembre 2017 il riconoscimento di almeno una mezza rendita d'invalidità, ma non per questo di avere limitato le sue conclusioni a quanto in seguito concesso dal Tribunale cantonale. Il rinvio della causa all'UAI per ulteriori accertamenti medici doveva servire a stabilire la sua reale capacità lavorativa residua.
3.3. I giudici cantonali sono incorsi in un errore, credendo che il ricorrente si era limitato a chiedere con il ricorso del 7 novembre 2017 solo il diritto a una mezza rendita d'invalidità. Come si evince dalle conclusioni di quel gravame, l'insorgente in sede cantonale ha postulato il riconoscimento di almeno mezza rendita d'invalidità. Oltretutto, il giudice delle assicurazioni sociali non è legato alle conclusioni delle parti e può cambiare una decisione a sfavore del ricorrente, ma anche in suo favore accordandogli più di quanto richiesto (art. 61 lett. d LPGA) : la procedura in materia di assicurazioni sociali è infatti, almeno in parte, retta dalla massima ufficiale (JEAN MÉTRAL, in Commentaire romand, Loi sur la partie générale des assurances sociales, 2018, Basilea, ad art. 61 n. 75). Il Tribunale cantonale non poteva quindi limitarsi a prendere atto delle conclusioni del ricorrente, peraltro interpretate erroneamente, e rinunciare a esaminare la capacità lavorativa del ricorrente, senza violare la massima ufficiale.
Il giudizio dell'8 novembre 2018, in quanto privo di qualsivoglia motivazione in merito all'esame della capacità lavorativa dell'assicurato, viola inoltre le esigenze federali in merito al contenuto delle decisioni impugnabili davanti al Tribunale federale le quali, per essere valide, devono contenere, tra l'altro, i motivi determinanti di fatto e di diritto (<ref-law>). Visto quanto precede, si giustifica di rinviare la causa al Tribunale cantonale affinché completi la decisione impugnata (<ref-law>).
4.
Il ricorso è manifestamente fondato, per cui la causa può essere evasa con motivazione sommaria (<ref-law>). Tenuto conto dell'esito del litigio, che è determinato da una censura formale, senza che sia pregiudicato il merito della controversia, si può rinunciare allo scambio degli scritti, anche per ragioni di economia di procedura (<ref-law>; cfr. sentenza 9C_483/2015 del 28 luglio 2015 consid. 4).
5.
Le spese giudiziarie e le indennità per ripetibili seguono la soccombenza (art. 66 cpv. 1, 68 cpv. 1 e 2 LTF). Il rinvio con esito aperto equivale a piena vittoria (<ref-ruling> consid. 7.1 pag. 271 con riferimenti). Nel caso concreto la soccombenza deve essere accollata allo Stato del Cantone Ticino in quanto il Tribunale cantonale, violando la massima ufficiale e l'<ref-law>, ha causato delle spese inutili (<ref-law>, v. anche sentenza 9C_251/2009 del 15 maggio 2009 consid. 2.1). Il Cantone Ticino dovrà inoltre versare un'adeguata indennità per spese ripetibili al patrocinatore del ricorrente.

Per questi motivi, il Tribunale federale pronuncia:
1.
Il ricorso è accolto. La sentenza del Tribunale delle assicurazioni del Cantone Ticino dell'8 novembre 2018 è annullata. La causa è rinviata al Tribunale delle assicurazioni del Cantone Ticino perché statuisca di nuovo circa il diritto del ricorrente alla rendita d'invalidità.
2.
Le spese giudiziarie di fr. 800.- sono poste a carico dello Stato del Cantone Ticino.
3.
Lo Stato del Cantone Ticino verserà al ricorrente la somma di fr. 2800.- a titolo di ripetibili per la procedura innanzi al Tribunale federale.
4.
Comunicazione alle parti, al Tribunale delle assicurazioni del Cantone Ticino e all'Ufficio federale delle assicurazioni sociali.