mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-11 11:29:03 +08:00
Summary: Fix issues with the react-native CLI when linking iOS and tvOS libraries to a project created with `react-native init`. (#13783) Verified the changes against test project at https://github.com/dlowder-salesforce/react-native-link-test. Both `react-native link react-native-svg` and `react-native unlink react-native-svg` work correctly on this project. Added new unit test for the new file added to `local-cli/link/ios`. [CLI] [BUGFIX] `react-native link` has been fixed to correctly link iOS and tvOS targets. [IOS] [BUGFIX] `react-native link` has been fixed to correctly link iOS and tvOS targets. Closes https://github.com/facebook/react-native/pull/17231 Differential Revision: D6837567 Pulled By: hramos fbshipit-source-id: 234d3d3966ae1b89cd16a37c95d303553f7ba5f5
21 lines
931 B
JavaScript
21 lines
931 B
JavaScript
/**
|
|
* Given xcodeproj it returns list of targets
|
|
*/
|
|
module.exports = function getTargets(project) {
|
|
let targets = project.getFirstProject().firstProject.targets;
|
|
let nativeTargetSection = project.pbxNativeTargetSection();
|
|
return targets.map(function(target) {
|
|
let key = target.value;
|
|
let configurationListId = project.pbxNativeTargetSection()[key].buildConfigurationList;
|
|
let configurationList = project.pbxXCConfigurationList()[configurationListId];
|
|
let buildConfigurationId = configurationList.buildConfigurations[0].value;
|
|
let buildConfiguration = project.pbxXCBuildConfigurationSection()[buildConfigurationId];
|
|
return {
|
|
uuid: key,
|
|
target: nativeTargetSection[key],
|
|
name: nativeTargetSection[key].productReference_comment,
|
|
isTVOS: (buildConfiguration.buildSettings.SDKROOT && (buildConfiguration.buildSettings.SDKROOT.indexOf('appletv') !== -1)) || false
|
|
}
|
|
});
|
|
};
|