@@ -100,6 +100,7 @@ struct SignerView: View {
100100 try fm. createDirectory ( at: inputs, withIntermediateDirectories: true )
101101 try fm. createDirectory ( at: work, withIntermediateDirectories: true )
102102
103+ // keep original filenames when copying into inputs
103104 let localIPA = inputs. appendingPathComponent ( ipaURL. lastPathComponent)
104105 let localP12 = inputs. appendingPathComponent ( p12URL. lastPathComponent)
105106 let localProv = inputs. appendingPathComponent ( provURL. lastPathComponent)
@@ -153,7 +154,11 @@ struct SignerView: View {
153154
154155 progressMessage = " Zipping signed IPA 📦 "
155156 do {
156- let signedIpa = tmpRoot. appendingPathComponent ( " signed_ \( UUID ( ) . uuidString) .ipa " )
157+ // Use the original IPA name (without .ipa) as the prefix for the final file
158+ let originalBase = ipaURL. deletingPathExtension ( ) . lastPathComponent
159+ let finalFileName = " \( originalBase) _signed_ \( UUID ( ) . uuidString) .ipa "
160+
161+ let signedIpa = tmpRoot. appendingPathComponent ( finalFileName)
157162 let writeArchive = try Archive ( url: signedIpa, accessMode: . create)
158163
159164 let enumerator = fm. enumerator ( at: work, includingPropertiesForKeys: [ . isDirectoryKey] , options: [ ] , errorHandler: nil ) !
@@ -177,7 +182,7 @@ struct SignerView: View {
177182 }
178183
179184 let docs = fm. urls ( for: . documentDirectory, in: . userDomainMask) . first!
180- let outURL = docs. appendingPathComponent ( " signed_ \( UUID ( ) . uuidString ) .ipa " )
185+ let outURL = docs. appendingPathComponent ( finalFileName )
181186 if fm. fileExists ( atPath: outURL. path) { try fm. removeItem ( at: outURL) }
182187 try fm. copyItem ( at: signedIpa, to: outURL)
183188
0 commit comments