diff --git a/ExportOptions.plist b/ExportOptions.plist
index 601de3e..7090f73 100644
--- a/ExportOptions.plist
+++ b/ExportOptions.plist
@@ -2,13 +2,37 @@
+ destination
+ export
+ manageAppVersionAndBuildNumber
+
method
app-store-connect
+
+ signingStyle
+ manual
+ signingCertificate
+ Apple Distribution
+ provisioningProfiles
+
+ com.alexandrevazquez.PortfolioJournal
+ porfoliojournal
+ com.alexandrevazquez.PortfolioJournal.PortfolioJournalWidget
+ Portfolio Journalwidget
+ com.alexandrevazquez.PortfolioJournal.QuickUpdate
+ PortfolioJournal QuickUpdate AppStore
+ com.alexandrevazquez.PortfolioJournal.watchkitapp
+ Portfolio Journal Watch App Store
+ com.alexandrevazquez.PortfolioJournal.watchkitapp.widget
+ Portfolio Journal Watch Widget App Store
+
+ stripSwiftSymbols
+
teamID
2825Q76T7H
uploadSymbols
- signingStyle
- automatic
diff --git a/PortfolioJournal.xcodeproj/project.pbxproj b/PortfolioJournal.xcodeproj/project.pbxproj
index caee36e..b9a886c 100644
--- a/PortfolioJournal.xcodeproj/project.pbxproj
+++ b/PortfolioJournal.xcodeproj/project.pbxproj
@@ -730,7 +730,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = PortfolioJournal/PortfolioJournal.entitlements;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
- CODE_SIGN_IDENTITY = "Apple Distribution";
+ CODE_SIGN_IDENTITY = "Apple Distribution: Alexandre Vazquez";
CODE_SIGN_STYLE = Manual;
PROVISIONING_PROFILE_SPECIFIER = "porfoliojournal";
CURRENT_PROJECT_VERSION = 89;
@@ -923,7 +923,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
CODE_SIGN_ENTITLEMENTS = PortfolioJournalWidgetExtension.entitlements;
- CODE_SIGN_IDENTITY = "Apple Distribution";
+ CODE_SIGN_IDENTITY = "Apple Distribution: Alexandre Vazquez";
CODE_SIGN_STYLE = Manual;
PROVISIONING_PROFILE_SPECIFIER = "Portfolio Journalwidget";
CURRENT_PROJECT_VERSION = 89;
@@ -1077,7 +1077,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = PortfolioJournalQuickUpdateExtension.entitlements;
- CODE_SIGN_IDENTITY = "Apple Distribution";
+ CODE_SIGN_IDENTITY = "Apple Distribution: Alexandre Vazquez";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 89;
DEVELOPMENT_TEAM = 2825Q76T7H;
@@ -1146,7 +1146,9 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = PortfolioJournalWatch.entitlements;
- CODE_SIGN_STYLE = Automatic;
+ CODE_SIGN_IDENTITY = "Apple Distribution: Alexandre Vazquez";
+ CODE_SIGN_STYLE = Manual;
+ PROVISIONING_PROFILE_SPECIFIER = "Portfolio Journal Watch App Store";
CURRENT_PROJECT_VERSION = 89;
DEVELOPMENT_TEAM = 2825Q76T7H;
ENABLE_PREVIEWS = YES;
@@ -1215,7 +1217,9 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = PortfolioJournalWatchWidget.entitlements;
- CODE_SIGN_STYLE = Automatic;
+ CODE_SIGN_IDENTITY = "Apple Distribution: Alexandre Vazquez";
+ CODE_SIGN_STYLE = Manual;
+ PROVISIONING_PROFILE_SPECIFIER = "Portfolio Journal Watch Widget App Store";
CURRENT_PROJECT_VERSION = 89;
DEVELOPMENT_TEAM = 2825Q76T7H;
ENABLE_PREVIEWS = YES;
diff --git a/Scripts/archive_and_upload_appstore.sh b/Scripts/archive_and_upload_appstore.sh
index 5bbac5b..1def9d4 100755
--- a/Scripts/archive_and_upload_appstore.sh
+++ b/Scripts/archive_and_upload_appstore.sh
@@ -101,8 +101,8 @@ create_export_options() {
method
app-store-connect
-
signingStyle
manual
@@ -116,6 +116,10 @@ create_export_options() {
Portfolio Journalwidget
com.alexandrevazquez.PortfolioJournal.QuickUpdate
PortfolioJournal QuickUpdate AppStore
+ com.alexandrevazquez.PortfolioJournal.watchkitapp
+ Portfolio Journal Watch App Store
+ com.alexandrevazquez.PortfolioJournal.watchkitapp.widget
+ Portfolio Journal Watch Widget App Store
stripSwiftSymbols
@@ -158,6 +162,23 @@ export_ipa() {
-authenticationKeyIssuerID "$ISSUER_ID"
}
+validate_ipa() {
+ local ipa
+ ipa="$(find "$EXPORT_PATH" -maxdepth 1 -name '*.ipa' -print -quit)"
+ [[ -n "$ipa" ]] || fail "No se encontro ningun .ipa en $EXPORT_PATH"
+
+ # Validar SIEMPRE antes de subir: pilla iconos ausentes, orientaciones de iPad
+ # incompletas e Info.plist mal formados sin gastar un numero de build.
+ echo "==> Validando $(basename "$ipa")"
+ API_PRIVATE_KEYS_DIR="$P8_DIR" \
+ xcrun altool \
+ --validate-app \
+ --type ios \
+ --file "$ipa" \
+ --apiKey "$KEY_ID" \
+ --apiIssuer "$ISSUER_ID"
+}
+
upload_ipa() {
local ipa
ipa="$(find "$EXPORT_PATH" -maxdepth 1 -name '*.ipa' -print -quit)"
@@ -189,6 +210,7 @@ main() {
create_export_options
archive_app
export_ipa
+ validate_ipa
upload_ipa
echo "==> Proceso completado"