diff --git a/companion-app/scripts/ios-teilen-einrichten.mjs b/companion-app/scripts/ios-teilen-einrichten.mjs index 4ae2c02..ad99960 100644 --- a/companion-app/scripts/ios-teilen-einrichten.mjs +++ b/companion-app/scripts/ios-teilen-einrichten.mjs @@ -139,12 +139,26 @@ try { // Eigene Build-Phasen: ohne sie hat das Ziel keine Quelldateien und keine // Ressourcen, und Xcode baut ein leeres Bündel. - projekt.addBuildPhase([], "PBXSourcesBuildPhase", "Sources", ziel.uuid) + // + // Die Quelle gehoert hier hinein und nicht in ein spaeteres addSourceFile: + // reicht man diesem eine Gruppe mit, legt es die Datei nur in die Gruppe + // (Navigator) und haengt sie an keine Sources-Phase. Das Ergebnis war ein + // .appex ganz ohne Programm - nur Info.plist und Signatur, obwohl + // CFBundleExecutable eines versprach (2026-09-02 an der fertigen .ipa + // gemessen). Xcode meldet dabei nichts; der Bau gilt als erfolgreich. + projekt.addBuildPhase( + ["ShareViewController.swift"], + "PBXSourcesBuildPhase", + "Sources", + ziel.uuid, + ) projekt.addBuildPhase([], "PBXResourcesBuildPhase", "Resources", ziel.uuid) projekt.addBuildPhase([], "PBXFrameworksBuildPhase", "Frameworks", ziel.uuid) + // Nur zur Anzeige in Xcode. Die Quelle ist oben bereits der Sources-Phase + // zugeordnet und steht deshalb hier nicht noch einmal. const gruppe = projekt.addPbxGroup( - ["ShareViewController.swift", "Info.plist", `${ZIEL_NAME}.entitlements`], + ["Info.plist", `${ZIEL_NAME}.entitlements`], ZIEL_NAME, ZIEL_NAME, ) @@ -154,8 +168,6 @@ try { ) if (wurzel) projekt.addToPbxGroup(gruppe.uuid, wurzel) - projekt.addSourceFile("ShareViewController.swift", { target: ziel.uuid }, gruppe.uuid) - // Einstellungen, die `addTarget` nicht selbst setzt. const konfigs = projekt.pbxXCBuildConfigurationSection() for (const schluessel of Object.keys(konfigs)) {