Update NBGeneratedPhoneNumberMetaData for extern variable definitions #406
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.