Thanks for your great work. I was trying to migrate my Notification Center widget dev to use XCode.
However, I've got a weird problem.
For example, I have an widget installed on my iphone package name net.company.ncwidget from Cydia.
If I replaced it with iOSOpenDev compiled binaries, the widget will show in notification center even if i disabled in Settings.
If i enabled it in Settings, it will show two exactly the same widget.
It happened even if i remove the old widget and installed the new one with the same package name.
There are no issues with another new package name.
dpkg should properly from any existing packages with the same name prior to installing a package with the same name. Unless I am misunderstanding what you're saying, this is not the expected result of installing a package via dpkg.
I used THEO to develop my widget before. Any chances that the compiled package has some differences which would cause this behavior?
This has nothing to do with theos or iOSOpenDev. It's happening because you changed the bundle ID of your widget without changing the executable path or name. The system retains the section information of each widget in a plist file (located in /var/mobile/Library/BulletinBoard/SectionInfo.plist), so when you change the bundle ID of your widget, the system doesn't delete that entry, but instead adds a new one for your new bundle ID, pointing to the same executable. But the Settings app handles this differently, which is why you only see one entry in the Notifications settings. You can fix this by manually deleting the key corresponding to your old bundle ID in the aforementioned plist file.