-
Notifications
You must be signed in to change notification settings - Fork 25.1k
Add $(inherited) to OTHER_LDFLAGS in xcodeproj template #7927
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This is particularly important when using generated xcode project together with cocoapods (or anything that leverages a custom xcconfig) If we do not set $(inherited), then user will get cryptic "Symbol(s) not found for architecture ..." errors that will be really difficult to track down, especially for beginners. This happens because without setting $(inherited) we are essentially overriding settings provided on project level (rather than target level) as well as .xcconfig level.
|
By analyzing the blame information on this pull request, we identified @alexeylang and @skozer to be potential reviewers. |
Member
|
@facebook-github-bot shipit |
|
Thanks for importing. If you are an FB employee go to Phabricator to review. |
MattFoley
pushed a commit
to skillz/react-native
that referenced
this pull request
Jun 17, 2016
Summary: This is particularly important when using generated xcode project together with cocoapods (or anything that leverages a custom xcconfig) If we do not set `$(inherited)`, then user will get cryptic "Symbol(s) not found for architecture ..." errors that will be really difficult to track down, especially for beginners. This happens because without setting `$(inherited)` we are essentially overriding settings provided on project level (rather than target level) as well as `.xcconfig` level. **Test plan (required)** ```bash react-native init MyProject cd ios pod init ``` Now go and add a pod to the `Podfile`, say ```ruby pod 'HockeySDK' ``` And try to use it in `AppDelegate.m` ```objc ... [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"]; [[BITHockeyManager sharedHockeyManager] startManager]; ``` Before this change, you'll get errors like this  If we do not set `$(inherited)`, then user will get cryptic "Symbol(s) not found for architecture ..." errors that will be really difficult to track down, especially for beginners. This happens because without setting `$(inherited)` we are essentially overriding settings provided on project level (rather than target level) as well as `.xcconfig` level. **Test plan (required)** ```bash react-native init MyProject cd ios pod init ``` Now go and add a pod to the `Podfile`, say ```ruby pod 'HockeySDK' ``` And try to use it in `AppDelegate.m` ```objc ... [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"]; [[BITHockeyManager sharedHockeyManager] startManager]; ``` Before this change, you'll get errors like this  If we do not set `$(inherited)`, then user will get cryptic "Symbol(s) not found for architecture ..." errors that will be really difficult to track down, especially for beginners. This happens because without setting `$(inherited)` we are essentially overriding settings provided on project level (rather than target level) as well as `.xcconfig` level. **Test plan (required)** ```bash react-native init MyProject cd ios pod init ``` Now go and add a pod to the `Podfile`, say ```ruby pod 'HockeySDK' ``` And try to use it in `AppDelegate.m` ```objc ... [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"]; [[BITHockeyManager sharedHockeyManager] startManager]; ``` Before this change, you'll get errors like this  If we do not set `$(inherited)`, then user will get cryptic "Symbol(s) not found for architecture ..." errors that will be really difficult to track down, especially for beginners. This happens because without setting `$(inherited)` we are essentially overriding settings provided on project level (rather than target level) as well as `.xcconfig` level. **Test plan (required)** ```bash react-native init MyProject cd ios pod init ``` Now go and add a pod to the `Podfile`, say ```ruby pod 'HockeySDK' ``` And try to use it in `AppDelegate.m` ```objc ... [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"]; [[BITHockeyManager sharedHockeyManager] startManager]; ``` Before this change, you'll get errors like this 
If we do not set
$(inherited), then user will get cryptic "Symbol(s) not found for architecture ..." errors that will be really difficult to track down, especially for beginners. This happens because without setting$(inherited)we are essentially overriding settings provided on project level (rather than target level) as well as.xcconfiglevel.Test plan (required)
react-native init MyProject cd ios pod initNow go and add a pod to the
Podfile, sayAnd try to use it in
AppDelegate.mBefore this change, you'll get errors like this

After this change, the build will succeed.