@@ -70,80 +70,19 @@ platform :ios do
7070 type : 'appstore' ,
7171 app_identifier : [ "#{ DEVELOPER_APP_IDENTIFIER } " , "#{ DEVELOPER_APP_EXTENSION_IDENTIFIER } " ] ,
7272 git_basic_authorization : Base64 . strict_encode64 ( GIT_AUTHORIZATION ) ,
73- readonly : false ,
73+ readonly : true ,
7474 keychain_name : keychain_name ,
7575 keychain_password : keychain_password ,
7676 api_key : api_key
7777 )
7878
79- update_code_signing_settings (
80- use_automatic_signing : false ,
81- path : "Code.xcodeproj" ,
82- team_id : ENV [ "DEVELOPER_PORTAL_TEAM_ID" ] ,
83- bundle_identifier : DEVELOPER_APP_IDENTIFIER ,
84- profile_name : "match AppStore #{ DEVELOPER_APP_IDENTIFIER } " ,
85- code_sign_identity : "iPhone Distribution"
86- )
87-
88- update_code_signing_settings (
89- use_automatic_signing : false ,
90- path : "Code.xcodeproj" ,
91- team_id : ENV [ "DEVELOPER_PORTAL_TEAM_ID" ] ,
92- bundle_identifier : DEVELOPER_APP_EXTENSION_IDENTIFIER ,
93- profile_name : "match AppStore #{ DEVELOPER_APP_EXTENSION_IDENTIFIER } " ,
94- code_sign_identity : "iPhone Distribution" ,
95- targets : [ "extension" ]
96- )
97-
98- # Archive only — skip gym's export since it injects 'method' which Xcode 26 rejects
9979 gym (
10080 configuration : "Release" ,
10181 project : "Code.xcodeproj" ,
10282 scheme : "Code App" ,
103- skip_package_ipa : true
83+ export_method : "app-store" ,
10484 )
10585
106- # Export manually with Xcode 26 compatible plist (uses 'destination' instead of 'method')
107- archive_path = lane_context [ SharedValues ::XCODEBUILD_ARCHIVE ]
108- export_path = File . expand_path ( "../build_output" , __dir__ )
109-
110- plist_path = File . expand_path ( "../ExportOptions.plist" , __dir__ )
111- FileUtils . rm_f ( plist_path )
112-
113- plist_xml = <<~PLIST
114- <?xml version="1.0" encoding="UTF-8"?>
115- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
116- <plist version="1.0">
117- <dict>
118- <key>destination</key>
119- <string>upload</string>
120- <key>signingStyle</key>
121- <string>manual</string>
122- <key>teamID</key>
123- <string>#{ ENV [ "DEVELOPER_PORTAL_TEAM_ID" ] } </string>
124- <key>uploadSymbols</key>
125- <true/>
126- <key>provisioningProfiles</key>
127- <dict>
128- <key>#{ DEVELOPER_APP_IDENTIFIER } </key>
129- <string>match AppStore #{ DEVELOPER_APP_IDENTIFIER } </string>
130- <key>#{ DEVELOPER_APP_EXTENSION_IDENTIFIER } </key>
131- <string>match AppStore #{ DEVELOPER_APP_EXTENSION_IDENTIFIER } </string>
132- </dict>
133- </dict>
134- </plist>
135- PLIST
136- File . write ( plist_path , plist_xml )
137- UI . message ( "ExportOptions.plist contents:\n #{ File . read ( plist_path ) } " )
138-
139- sh ( "xcodebuild -exportArchive " \
140- "-archivePath '#{ archive_path } ' " \
141- "-exportPath '#{ export_path } '" )
142-
143- # Move exported IPA to expected location
144- ipa_path = Dir [ "#{ export_path } /*.ipa" ] . first
145- FileUtils . cp ( ipa_path , File . expand_path ( "../Code.ipa" , __dir__ ) )
146-
14786 pilot (
14887 apple_id : "#{ DEVELOPER_APP_ID } " ,
14988 app_identifier : "#{ DEVELOPER_APP_IDENTIFIER } " ,
0 commit comments