NSBundle is just an object that you instatiate with a URL. You can reference the "mainBundle" static object that always points to your app. There are methods that allow you to reference any resource files that are included with the app. Translocation is kind of like a mini sandbox. NSBundle provides access to any of those files within the app itself.
All resources do need to go inside the app bundle. Otherwise, you're talking about a situation where some sort of installation process is necessary. Generally speaking, there's nothing wrong with that, but it precludes allowing users to run a downloaded app from the Downloads folder.
I'm not sure what you mean about "resources are common for the same app for 2 other platforms." In this forum, "platform" usually refers to macOS vs iOS, and maybe some oddball tvOS, watchOS, etc. There's no problem including any kind of "foreign" resources inside an app bundle. The data may be duplicated and the zip files may be larger, but that's life.
A user editable .ini file is really not a good idea. It would be better to describe what you're trying to accomplish with this .ini file. There are probably other ways to achieve the same end result - maybe user defaults, maybe an onboarding UI, maybe a network request.