fix(ci): add xcodegen project.yml and generate xcodeproj before archive
SPM executableTarget is treated as a CLI tool by xcodebuild, producing Products/usr/local/bin instead of a .app bundle. xcodegen generates a proper application target with PRODUCT_TYPE=com.apple.product-type.application. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -32,6 +32,9 @@ playground.xcworkspace
|
|||||||
|
|
||||||
.build/
|
.build/
|
||||||
|
|
||||||
|
# Generated by xcodegen in CI — do not commit
|
||||||
|
*.xcodeproj/
|
||||||
|
|
||||||
# CocoaPods
|
# CocoaPods
|
||||||
#
|
#
|
||||||
# We recommend against adding the Pods directory to your .gitignore. However
|
# We recommend against adding the Pods directory to your .gitignore. However
|
||||||
|
|||||||
@@ -20,9 +20,15 @@ workflows:
|
|||||||
# GITEA_TOKEN — set this in Codemagic App Settings → Environment variables (mark as secret)
|
# GITEA_TOKEN — set this in Codemagic App Settings → Environment variables (mark as secret)
|
||||||
|
|
||||||
scripts:
|
scripts:
|
||||||
|
- name: Generate Xcode project
|
||||||
|
script: |
|
||||||
|
brew install xcodegen
|
||||||
|
xcodegen generate --spec project.yml
|
||||||
|
|
||||||
- name: Build (unsigned)
|
- name: Build (unsigned)
|
||||||
script: |
|
script: |
|
||||||
xcodebuild archive \
|
xcodebuild archive \
|
||||||
|
-project SilverApple.xcodeproj \
|
||||||
-scheme SilverApple \
|
-scheme SilverApple \
|
||||||
-destination "generic/platform=iOS" \
|
-destination "generic/platform=iOS" \
|
||||||
-configuration Release \
|
-configuration Release \
|
||||||
|
|||||||
43
project.yml
Normal file
43
project.yml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name: SilverApple
|
||||||
|
options:
|
||||||
|
bundleIdPrefix: uk.silverlabs
|
||||||
|
deploymentTarget:
|
||||||
|
iOS: "16.0"
|
||||||
|
xcodeVersion: "15"
|
||||||
|
generateEmptyDirectories: true
|
||||||
|
|
||||||
|
targets:
|
||||||
|
SilverApple:
|
||||||
|
type: application
|
||||||
|
platform: iOS
|
||||||
|
deploymentTarget: "16.0"
|
||||||
|
sources:
|
||||||
|
- path: SilverApple
|
||||||
|
excludes:
|
||||||
|
- Info.plist
|
||||||
|
- SilverApple.entitlements
|
||||||
|
resources:
|
||||||
|
- SilverApple/Assets.xcassets
|
||||||
|
settings:
|
||||||
|
base:
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER: uk.silverlabs.silverapple
|
||||||
|
INFOPLIST_FILE: SilverApple/Info.plist
|
||||||
|
CODE_SIGN_ENTITLEMENTS: SilverApple/SilverApple.entitlements
|
||||||
|
SWIFT_VERSION: "5.9"
|
||||||
|
TARGETED_DEVICE_FAMILY: "1,2"
|
||||||
|
OTHER_LDFLAGS:
|
||||||
|
- "-framework AuthenticationServices"
|
||||||
|
- "-framework SafariServices"
|
||||||
|
- "-framework Security"
|
||||||
|
|
||||||
|
SilverAppleTests:
|
||||||
|
type: bundle.unit-test
|
||||||
|
platform: iOS
|
||||||
|
deploymentTarget: "16.0"
|
||||||
|
sources:
|
||||||
|
- path: SilverAppleTests
|
||||||
|
dependencies:
|
||||||
|
- target: SilverApple
|
||||||
|
settings:
|
||||||
|
base:
|
||||||
|
SWIFT_VERSION: "5.9"
|
||||||
Reference in New Issue
Block a user