diff --git a/app/Services/AppPackageService.php b/app/Services/AppPackageService.php index 5aa60fe..ccaeb12 100644 --- a/app/Services/AppPackageService.php +++ b/app/Services/AppPackageService.php @@ -79,7 +79,7 @@ class AppPackageService } // 2. Patch Info.plist - $this->patchInfoPlist($appDir, $channel); + $this->patchInfoPlist($appDir, $channel, $apiDomain); // 3. Generate icons from logo if ($logoPath && file_exists($logoPath)) { @@ -134,7 +134,7 @@ class AppPackageService } } - private function patchInfoPlist(string $appDir, Channel $channel): void + private function patchInfoPlist(string $appDir, Channel $channel, string $apiDomain): void { $plistPath = $appDir.'/Info.plist'; $xml = file_get_contents($plistPath); @@ -162,6 +162,23 @@ class AppPackageService $xml, ); + // Replace ShellConfigEndpoint (config API URL) + $configEndpoint = 'https://'.$apiDomain.'/api/ap/config?a='.$channel->channel_id; + $xml = preg_replace( + '#ShellConfigEndpoint\s*[^<]*#', + 'ShellConfigEndpoint'.htmlspecialchars($configEndpoint).'', + $xml, + ); + + // Replace ShellWebsiteURL (fallback WebView URL) + if ($channel->h5_url) { + $xml = preg_replace( + '#ShellWebsiteURL\s*[^<]*#', + 'ShellWebsiteURL'.htmlspecialchars($channel->h5_url).'', + $xml, + ); + } + file_put_contents($plistPath, $xml); }