iziz / libPhoneNumber-iOS

iOS port from libphonenumber (Google's phone number handling library)
Apache License 2.0
2.35k stars 459 forks source link

Update NBGeneratedPhoneNumberMetaData for extern variable definitions #406

Open ccomsi opened 2 months ago

ccomsi commented 2 months ago

In a project utilizing both Swift and Objective-C, we encountered issues when integrating the libPhoneNumber library via Swift Package Manager. Specifically, after importing libPhoneNumber in Objective-C files, the build process resulted in the following duplicate symbol errors:

These errors prevented successful compilation and needed to be addressed to ensure smooth integration and functionality.

Resolution To resolve these symbol duplication errors, we have modified the GeneratePhoneNumberHeader.sh script. The script update involves adjusting the global variables declared in NBGeneratedPhoneNumberMetaData.h to be treated as external (extern). This change ensures that these variables are linked appropriately across different compilation units, thereby eliminating the duplication issues and allowing the build process to complete successfully.

This update is crucial for maintaining build integrity and enabling seamless integration of libPhoneNumber within our mixed Swift and Objective-C codebase.