pbxProject.prototype.addFramework: automatically create Frameworks Group if it does not exist
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- ios, javascript, nodejs
- Ambito
- mobile
Direzione di ricerca
Inizia da pbxProject.prototype.addFramework e segui come vengono gestiti il gruppo Frameworks e project mainGroup. Usa il workaround dell’issue come riferimento per il comportamento. Il lavoro è completato quando un gruppo Frameworks mancante viene sia creato sia referenziato da mainGroup, così Xcode non inserisce il framework in Recovered References.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
This is a feature proposal
Initial Situation:
Your xcode project tree looks like this:

You have a Xcode project without a Framworks group and you want to add a new framework using pbxProject.prototype.addFramework.
Current behaviour:
The Frameworks group is created but not added to the mainGroup of the project which references all files (that are not part of a subgroup) and all groups (that are no subgroups).
If you open the updated xcode project with xcode you see the following:
This is because xcode cannot find a reference to the Frameworks group on the mainGroup and therefore "autofixes" the project by adding the library added with pbxProject.prototype.addFramework to a newly generated group Recovered References.
Expected behaviour:
The Framework group is created and also automatically added to the mainGroup.
When you open the project in xcode it should look like this:
Current workaround:
Add the Frameworks group to mainGroupmanually:
const project = xcode.project(projectPath);
project.parseSync();
project.addFramework(path.resolve(frameworksDirectory, 'GoogleInterchangeUtilities.framework'), {
customFramework: true,
embed: true,
link: true,
});
const mainProject = project.getPBXGroupByKey(project.getFirstProject().firstProject.mainGroup);
if (!mainProject.children.some(children => children.comment === 'Frameworks')) {
const [groupKey] = Object.entries(project.hash.project.objects['PBXGroup']).find(
([, group]) => group.name === 'Frameworks',
);
project.addToPbxGroup(groupKey, project.getFirstProject().firstProject.mainGroup);
}
If you are okay with this feature proposal I would love to implement it!
- Lingua principale
- JavaScript
- Stelle
- 217
- Fork
- 102
- Merge medio
- 2g 9h
- PR unite (30g)
- 8
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/cordova-node-xcode
-
Add & Improve JSDocs Apertaenhancement
apache/cordova-node-xcode#171 · 1 assegnatario ·
-
🔖 New release Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
apache/cordova-node-xcode#162 · 4 commenti · 2 reazioni ·
-
Install .xcframework Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 28/100
apache/cordova-node-xcode#139 · 2 commenti ·
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
apache/cordova-node-xcode#138 · 2 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
apache/cordova-node-xcode#137 · 2 reazioni ·
Tutte le issue di apache/cordova-node-xcode
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Theme loads third-party resources on every page (jsdelivr web font, cdnjs Font Awesome) – GDPR Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
docToolchain/docToolchain#1705 ·
-
Timezone select lists one option per character; duplicate "Failed" reason; shared tracker popover id Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
nightscout/nocturne#1414 ·
-
bug v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
modelcontextprotocol/inspector#2458 · 1 commento ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
carbon-design-system/ibm-products#9907 ·