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);
}