I'm currently developing an app based on Apple's ARKit and I'm just wondering what licenses should I use for this project as none of these libraries demonstrated what licenses they are currently using, which makes me really confused.
Most of the open source licenses don't really care about how you combine code. There are three in particular that come to mind.
If you just want to get licensing out of the way and not worry about it, slap the MIT license on it and call it a day. Commercial entities can come along, though, and use your code as the base for a proprietary solution for profit. They will not be obligated to publish their code.
The MIT license is designed to be clear to ordinary people.
There is a very popular opinion that the MIT license doesn't provide entities with suitable protections against patent litigation on the part of the author. You could, theoretically, attract users to your project, get them dependent on it, and then panhandle them for money claiming patent violations.
To address this issue, the Apache Software Foundation maintains its own license. It's like the MIT license, but handles the situation described above. And instead of being clear and obvious like the MIT license, the Apache 2.0 license is designed to withstand litigation.
Mozilla Public License 2.0
But what if you don't want people making changes to your project and then profiting from them? The MPLv2 license exists to say that any changes someone makes to your code and distributes must also be under the MPLv2 license. This keeps commercial entities from hoarding modifications to your source files.
This only applies on a file-by-file basis, however. It doesn't prevent someone from outright adding whole new files to your project or completely replacing others. This license was designed to be legally solid while also being understandable. It was also designed to be internationally enforceable.
I haven't talked about the GNU licenses since their viability in the App Store is highly contested.