2015-01-06 23 views
5

"iOS 8 ora supporta i framework dinamici" significa che questo è consentito per gli invii di App Store?Le app iOS 8 con dylibs incorporati sono consentite su App Store?

Sembra che in precedenza gli sviluppatori che erano in grado di utilizzare i dylibs per le app interne, ma che li utilizzavano in qualcosa inviato all'App Store, venivano respinti. Questo è ancora il caso o questo cambiamento in iOS 8 lo ha reso ok?

Ad esempio, se scrivessi un'applicazione che utilizza OpenCV, sarebbe ora possibile costruire e spedire un dylib OpenCV (supponendo che ho creato OpenCV come dylib) piuttosto che il collegamento statico?

Sono interessato perché abbiamo un framework basato su Qt che ha diverse librerie condivise che attualmente creiamo per Linux, OS X, Windows e Android. Per iOS sembra che avremmo bisogno di cambiare questo per costruire una singola app con tutti i nostri componenti e Qt collegati staticamente. Se le app iOS e l'App Store stanno iniziando a supportare librerie dinamiche (incorporate), le nostre build iOS potrebbero spedire tutto i componenti come librerie dinamiche come facciamo su tutte le altre piattaforme.

correlati:

+0

Eventuali aggiornamenti su questo? – Macke

risposta

1

Sembra che ci sia ancora il limite che le applicazioni iOS collegate solo staticamente sono ammessi su App Store. Si può leggere in App Store Review Guidelines:

2,7 applicazioni che scaricano il codice in qualsiasi modo o forma saranno respinte

2.8 Applicazioni che installano o lanciare altro codice eseguibile saranno respinte

Questa non è una limitazione tecnica ma legale. È vietato per motivi di sicurezza poiché una libreria dinamica può essere caricata e scaricata in fase di runtime, è possibile scaricare un codice eseguibile aggiuntivo e caricarlo (come un plug-in). Quindi Apple controlla rigorosamente il collegamento dinamico, che è un problema di sicurezza per sistemi operativi apparentemente sicuri come ios.

Dopo tutto è necessario disporre di una licenza commerciale per distribuire Qt su App Store. È possibile acquistare la licenza di Indie Mobile e saltare le sfide create da negozi di applicazioni di terze parti. Ciò significa che puoi distribuire la tua applicazione tramite qualsiasi negozio di applicazioni di terze parti che desideri.

+1

Poiché 'dylibs' sono supportati in> =' iOS 8', le politiche sono un po 'rilassate ora e probabilmente cambieranno in futuro. Tuttavia, in realtà, l'accettazione dipende molto dal revisore e dal modo in cui egli/ella interpreta le linee guida. Quindi, non penso che andare per le librerie dinamiche sarebbe una scelta saggia al momento e/o nel prossimo futuro. – BaCaRoZzo