I am trying to subclass NSATSTypesetter to alter the layout process. Specifically, I want to change the layout of glyphs in the line fragment rectangles. To do this, I need to override layoutParagraph(at:). Unfortunately, there is very little documentation on how the type setting process proceeds.
The most concrete I could find is WWDC 2010, Session 114 "Advanced Cocoa Tips and Tricks". It gives an overview over the general setup and explain glyph generation, but it doesn't go into the layout of glyphs into line fragments.
Does anybody have any more information on what I need to do inside layoutParagraph(at:). In particular, what do I do with the results from getLineFragmentRect(_:usedRect:remaining:forStartingGlyphAt:proposedRect:lineSpacing:paragraphSpacingBefore:paragraphSpacingAfter:) and how do I tell the caller how far the layout proceeded. Just returning the next glyph index doesn't seem to do the job.
Any help would be appreciated!
Post
Replies
Boosts
Views
Activity
When I try to upload my (macOS) app to the App Store for reviewing, the upload process hangs. More specifically, the initial handshake between Transporter and App Store Connect goes well, but once it comes to uploading the actually pkg file, it just hangs. App Store Connect just fails to respond to the Transporter request.
I have tried many things to resolve this:
I have tried uploading from within the Xcode organizer, with the Transporter app, and using 'altool' from the command line.
I have used different network configurations.
I have used two different Macs.
I have used Xcode 11.6 on Catalina and Xcode 9.3 on Mojave.
It is always the same. What is also curious is that I am still able to notarize dmgs using 'altool' (which also involves an upload).
I have been in contact with ASC administrative support and they also don't know what is going on.
I append the final bit of the verbose log output from 'altool' below.
Has anybody seen something like this before or any idea how to fix it?
Cheers,
Manuel
2020-08-11 21:34:55.315 altool[5480:834501] [2020-08-11 21:34:55 CEST] <pool-10-thread-1> INFO: Reservation committed: (CPUSource124/v4/cc/92/d6/cc92d610-9d66-20b7-8de2-bc6d99dba385/http-transport-diagnostic-6719590195530328727.txt) file: (http-transport-diagnostic-6719590195530328727.txt)
2020-08-11 21:34:55.316 altool[5480:834501] [2020-08-11 21:34:55 CEST] <pool-10-thread-1> INFO: All reservation commit(s) finished.
2020-08-11 21:34:55.319 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> INFO: 181,98 B/s in 1 second
2020-08-11 21:34:55.319 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> INFO: JSON:{"msg":{"phase":"Upload","count":3,"description":"Validating assets","index":3},"messageType":"VerifyProgress"}
2020-08-11 21:34:55.326 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DEBUG: Using token file path /Users/chak/Library/Caches/com.apple.amp.itmstransporter/UploadTokens/MacBook-Pro.localCW7SX798PS841285201.itmsp.token
2020-08-11 21:34:55.326 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DEBUG: Attempting exclusive file lock on token file
2020-08-11 21:34:55.326 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DEBUG: Set token: 729d9f19-d73d-4c6f-ae9a-3b5cb42ae917/1597174344493
2020-08-11 21:34:55.327 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: Memory: [JVM] 1025M free, 1087M total, 1820M max [System] (Physical) 1403M free, 32768M total (Swap) 0 free, 0 total
2020-08-11 21:34:55.327 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> INFO: JSON:{"msg":{"phase":"Upload","count":3,"description":"Validating assets","index":4},"messageType":"VerifyProgress"}
2020-08-11 21:34:55.327 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: Deflated 626 bytes to 460
2020-08-11 21:34:55.327 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: Using operation named: validateAssets
2020-08-11 21:34:55.328 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: Apple's web service operation input parameters:
2020-08-11 21:34:55.328 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter Application = iTMSTransporter
2020-08-11 21:34:55.328 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter BaseVersion = 1.13.0
2020-08-11 21:34:55.328 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter CPUToken = 729d9f19-d73d-4c6f-ae9a-3b5cb42ae917/1597174344493
2020-08-11 21:34:55.328 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter Client = altool
2020-08-11 21:34:55.328 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter ClientVersion = 4.01 (1182)
2020-08-11 21:34:55.328 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter Files = [metadata.xml, Haskell.pkg]
2020-08-11 21:34:55.328 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter MetadataChecksum = b9dd01cb36a3a63a4c4391164e3677f2
2020-08-11 21:34:55.328 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter MetadataCompressed = (suppressed)
2020-08-11 21:34:55.329 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter MetadataInfo = {appplatform=osx, primarybundleidentifier=, deviceid=, bundleidentifier=com.haskellformac.Haskell.basic, packageVersion=software5.4, appleid=841285201, assettypes=[product-archive], bundleversion=1582, bundleshortversionstring=1.8.1}
2020-08-11 21:34:55.329 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter OSIdentifier = Mac OS X 10.15.6 (x8664); jvm=25.71-b02; jre=1.8.0-u131-b11-iTMSTransporter-b02
2020-08-11 21:34:55.329 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter PackageName = 841285201.itmsp
2020-08-11 21:34:55.329 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter PackageSize = 313246611
2020-08-11 21:34:55.329 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter RequestUUID = 7fd337fa-7f93-43a3-be6b-d1c0e8d9a5ef
2020-08-11 21:34:55.329 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter StatisticsClientStartDateTimeZoneISO = 2020-08-11T21:34:55+02:00
2020-08-11 21:34:55.330 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter StreamingInfoList = [file: f4a87b02-c1af-4aef-a321-274cd2a30eab6031129611146657291.swinfo.plist.gz, content-length: 1663634, content-type: application/binary, MD5: 6446f65f58f05ddfc9242b0e06b66b3c]
2020-08-11 21:34:55.330 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter Transport = HTTP
2020-08-11 21:34:55.330 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter TransporterArguments = -m upload -u xyz@applicative.co -vp json -DTxHeaders=eyJqZW5nYSI6dHJ1ZX0= -sessionid @env:B94D7700-478F-4774-AD41-1D75A61F9DAB -sharedsecret hidden value -f /var/folders/c2/qwhz21hd2fvb1mqvy6s1s_9w0000gq/T/722A06A8-2F84-47B0-A34C-54C15F887C1B/841285201.itmsp -indicator true -v eXtreme -Dtransporter.client=altool -Dtransporter.client.version=4.01 (1182)
2020-08-11 21:34:55.330 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter Version = 2.0.0
2020-08-11 21:34:55.330 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> DBG-X: parameter iTMSTransporterMode = upload
2020-08-11 21:34:55.330 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> INFO: id = 20200811213455-244
2020-08-11 21:34:55.337 altool[5480:834501] [2020-08-11 21:34:55 CEST] <main> INFO: iTMSTransporter Correlation Key: df6624dd-9b86-488f-a3f3-3a980f92b400-0001