TEST
Takaaki Naganoya
|
|
Thanks for Setting Up this Forum/Group
I'm not sure who is responsible for all this good stuff, but I thank you!
It looks like a modern forum, which we sorely need to communicate and establish easy-to-find references to the many great code examples this community has published. I see there are other facilities here, like a Wiki, Files, Databases, etc. The Wiki in particular could be very useful to all of us. Best Regards, JMichaelTX
|
|
Test
John Stewart
Just to see if it works for me.
|
|
Trying to set up 8 column Table with 276 embedded Check Boxes.
Brian Christmas
G'day scripters I've got an 8 column Outline View Table, each column of which has a Check Box installed. I need to add more rows, and each Check Box needs a unique Title, and the ability to alter the State. A total of 276 unique Check Boxes. I just cannot get the code right, and Shane Stanley's Explored 5 doesn't help. In interface builder I have defined the valueof each Check Box to the key 'state', and the title to the key 'title’. I don’t expect Shane to answer this, much as I’d appreciate it, as I’m ‘persona non-gratis’ to him for offering criticism of Script Debugger on-line; (two major bugs, still un-fixed after many months). Ahh well. So, I’m hoping someone else will step forward. 'Saving errors reports, with (the last part), ', {Extensions1CB:{|title|:"X-Face", state:true}, Extensions2CB:{|title|:"XPM", state:true}, Extensions3CB:{|title|:"XWD", state:true}, Extensions4CB:{|title|:"YUV", state:true}, Extensions5CB:{|title|:"", state:false}, Extensions6CB:{|title|:"", state:false}, Extensions7CB:{|title|:"", state:false}, Extensions8CB:{|title|:"", state:false}}} doesn’t understand the “writeToFile_atomically_” message'. Columns are defined as "Extensions1CB", "Extensions2CB", "Extensions3CB", "Extensions4CB", "Extensions5CB", "Extensions6CB", "Extensions7CB", "Extensions8CB" I need to set the title and State of every Check Box, save them (as the Array Controllers contents), and read them. Any advice appreciated. I've Googled for hours, to no real avail. Regards Santa My code is... NOTE, this is obviously wrong... set anObj to (current application's NSMutableDictionary's dictionaryWithObjects:{item1CB, item2CB, item3CB, item4CB, item5CB, item6CB, item7CB, item8CB} forKeys:{"Extensions1CB", "Extensions2CB", "Extensions3CB", "Extensions4CB", "Extensions5CB", "Extensions6CB", "Extensions7CB", "Extensions8CB"}) -- -- AppDelegate.applescript -- GC Name Extension lister -- -- Created by Brian Christmas on 6/7/17. -- Copyright © 2017 MeSelf Software. All rights reserved. -- script AppDelegate # property parent : class "NSObject" property parent : class "ObjectWithFords" -- IBOutlets property ListWindow : missing value property box1 : missing value property ExtensionsArrayController : missing value property listValues : "" property firstCheckBox : missing value property ListWindowSetUp : false property ExtValueDict : {} property mailManagerDesktopFolderPath : ((path to desktop as text) & "Mail Manager Folder:") property setUpExtension : false property extensionsToIgnore : {".D", "8BIM", "AAI", "Acorn Sprite", "AFP", "ALIAS", "AMBER ARR", "AMC", "Analyze", "ANI", "ANPA", "Apple File Icon", "Apple Preferred", "ART", "ARW", "ASCII", "Atari Portfolio", "B3D", "Bio", "BioRad", "BLD", "BMP", "BSB", ¬ "BSP", "BUF", "BUM", "Byte-Array Hea- der File (.H)", "CALS", "c4", "CAM", "CALS", "CEL", "CGM", "Chyron", "cicn", "CINEON", "CISCOIpPhoneI mages", "CLP", "cri", "CRW", "CR2", "csource", "CT", "CUR", "CVG", "CWK", "DCS", "DCR", "DCX", "DDS", "DeltaVision", ¬ "DESR VFF", "DICoM", "Direct icns", "Diskus YUV", "DJ1000", "DL", "dm2/dm3", "DNG", "Doodle", "DPX", "Dr. Halo", "DrawIT", "ECW", "ElectronicImage", "EPSF", "ESM", "Facesaver", "Favicon ICO", "FAX", "FaxSTF", "fep", "fig", "First Publisher art", "FireViewer PDB", ¬ "FITS", "FLH/FLI/FLC", "FPX", "Freehand 10", "FUJI", "GATAN", "GEM", "GFX", "GIF", "GrayPaint", "GRP", "HAM", "HD Photo (wdp)", "HDR", "HP-GL/2", "HGT", "HMR", "HTC splashscreens", "IBL", "IBM PIC", "IC ? Imagic", "lcd5", "ICo/ICN", "IFF/LBM", "IM", "Image ->Finder", ¬ "ImageLab/PrintTechnic", "IMG/XIMG", "IMQ", "IPLab", "ithmb", "IRIS", "ISS", "j6i", "JBI", "JEDMICS C4", "JIF", "JNG", "JPEG/JFIF", "JPEG 2000", "JPF", "JPX", "KDC", "Keynote PICT", "KISS CEL", "Koala", "Kodak DCS", "KoNTRoN", "LDF", "Liberty IM", "LIFF", "LOGO", ¬ "Lotus-PIC", "LuraDocument", "LWF (LuraWave)", "MacDraw I", "MacPaint", "MAG", "MAYA-IFF", "MBM (Psion 5)", "Meteosat 5", "MDC", "Meteosat 5", "MHT", "MonkeyLogo", "MonkeyCard", "Mov", "MPO", "MP2", "MRC", "MrSID", "MRW", "MSP", "MSX MSX2, MSX+ - MSX2+", "NAA/IPTC", ¬ "NASA Raster Metafile", "NEF", "NEO", "NGG/NCG", "NIF", "NIST PCT", "Nokia .pict", "NoL", "NV12", "ODF", "oNCoR", "ORF", "OTA", "P ? ? Degas", "Palette", "Palm image stream", "PAM", "PAC STAD", "PaperPort (MAX)", "PBM/PGM/PPM", "PCD", "PCX", "PIC (32K)", "PIC", ¬ "PIC", "PIC", "PICS", "PICT", "PICT resource", "PDB", "PDF", "PDS3", "PEF", "PFM", "PGC/PGF", "Photo PDB", "Photostudio", "PGPF", "PGC/PGF", "Photo Raw", "PIX", "PM", "PNG", "PoRST", "PowerPoint", "Ppat", "PSD", "PSP", "PTG", "PWP", "Pxx - Degas", "QDV", "QNT", "QTIF", ¬ "QTL", "RAF", "RAW", "RDC", "RIFF", "RLA", "RLE", "RSB", "RTF", "RW2", "SCR", "SCR", "Scrap", "ScreenShot Hack PDB", "SCX", "SFF", "SFW", "SGI", "SHP", "SHS", "SIGMA SD10 raw", "Sinclair QL", "SIXEL", "SKETCH", "SMV", "SNX", "SoFTIMAGE", "SPC", "SRF", "ST X SBIG", "StartupScreen s", ¬ "STV", "SUN", "Super-Hi-Res 3200", "SVG", "SWF", "System 7 clip", "TBC", "TCL", "TealPaint PDB", "TEX", "TGA", "TIFF", "TIM PSX", "Tiny Viewer PDB", "TN ?", "TRS-80", "VBM", "VFF", "VGS-8", "VITRoNIC", "VoXEL", "VPB", "VPM", "WBIN", "WBMP", "wbz", "wdb", "Webp", "Winfax (FXM)", "Winmail.dat", ¬ "WMF", "WPG", "X11", "X3F", "XBM", "XCF", "XFIG", "X-Face", "XPM", "XWD", "YUV"} -- "asc" is signature on applicationWillFinishLaunching:aNotification -- Insert code here to initialize your application before any files are opened tell me to activate my displayExtensionsWindow() end applicationWillFinishLaunching: on displayExtensionsWindow() try set p to 2 set (my setUpExtension) to true set p to 3 set theflag to true tell application "Finder" if not (exists file ((my mailManagerDesktopFolderPath as text) & "Extension Data.plist")) then set theflag to false end if end tell if not theflag then set p to 3.1 set tempList to {} set p to 3.2 ExtensionsArrayController's removeObjects:(ExtensionsArrayController's arrangedObjects()) set p to 3.3 repeat with i from 1 to (((((count of (my extensionsToIgnore)) + 7) div 8) * 8) - 1) by 8 try set p to 3.31 set item1CB to (current application's NSDictionary's dictionaryWithObjects:{(item i of (my extensionsToIgnore) as text), true} forKeys:{"title", "state"}) # {title:(item i of (my extensionsToIgnore) as text), value:true} on error beep set item1CB to (current application's NSDictionary's dictionaryWithObjects:{"", false} forKeys:{"title", "state"}) #{title:"", value:false} end try try set p to 3.32 set item2CB to (current application's NSDictionary's dictionaryWithObjects:{(item (i + 1) of (my extensionsToIgnore) astext), true} forKeys:{"title", "state"}) #{title:(item (i + 1) of (my extensionsToIgnore) as text), value:true} on error set item2CB to (current application's NSDictionary's dictionaryWithObjects:{"", false} forKeys:{"title", "state"}) #{title:"", value:false} end try try set item3CB to (current application's NSDictionary's dictionaryWithObjects:{(item (i + 2) of (my extensionsToIgnore) astext), true} forKeys:{"title", "state"}) #{title:(item (i + 2) of (my extensionsToIgnore) as text), value:true} on error set item3CB to (current application's NSDictionary's dictionaryWithObjects:{"", false} forKeys:{"title", "state"}) #{title:"", value:false} end try try set item4CB to (current application's NSDictionary's dictionaryWithObjects:{(item (i + 3) of (my extensionsToIgnore) astext), true} forKeys:{"title", "state"}) #{title:(item (i + 3) of (my extensionsToIgnore) as text), value:true} on error set item4CB to (current application's NSDictionary's dictionaryWithObjects:{"", false} forKeys:{"title", "state"}) #{title:"", value:false} end try try set item5CB to (current application's NSDictionary's dictionaryWithObjects:{(item (i + 4) of (my extensionsToIgnore) astext), true} forKeys:{"title", "state"}) #{title:(item (i + 4) of (my extensionsToIgnore) as text), value:true} on error set item5CB to (current application's NSDictionary's dictionaryWithObjects:{"", false} forKeys:{"title", "state"}) #{title:"", value:false} end try try set item6CB to (current application's NSDictionary's dictionaryWithObjects:{(item (i + 5) of (my extensionsToIgnore) astext), true} forKeys:{"title", "state"}) #{title:(item (i + 5) of (my extensionsToIgnore) as text), value:true} on error set item6CB to (current application's NSDictionary's dictionaryWithObjects:{"", false} forKeys:{"title", "state"}) #{title:"", value:false} end try try set item7CB to (current application's NSDictionary's dictionaryWithObjects:{(item (i + 6) of (my extensionsToIgnore) astext), true} forKeys:{"title", "state"}) #{title:(item (i + 6) of (my extensionsToIgnore) as text), value:true} on error set item7CB to (current application's NSDictionary's dictionaryWithObjects:{"", false} forKeys:{"title", "state"}) #{title:"", value:false} end try try set item8CB to (current application's NSDictionary's dictionaryWithObjects:{(item (i + 7) of (my extensionsToIgnore) astext), true} forKeys:{"title", "state"}) #{title:(item (i + 7) of (my extensionsToIgnore) as text), value:true} on error set item8CB to (current application's NSDictionary's dictionaryWithObjects:{"", false} forKeys:{"title", "state"}) #{title:"", value:false} end try set p to 3.4 set anObj to (current application's NSMutableDictionary's dictionaryWithObjects:{item1CB, item2CB, item3CB, item4CB, item5CB, item6CB, item7CB, item8CB} forKeys:{"Extensions1CB", "Extensions2CB", "Extensions3CB", "Extensions4CB", "Extensions5CB", "Extensions6CB", "Extensions7CB", "Extensions8CB"}) set p to 2 my (ExtensionsArrayController's addObject:anObj) — < DOES NOTHING #set temp to {Extensions1:item1CB, Extensions2:item2CB, Extensions3:item3CB, Extensions4:item4CB, Extensions5:item5CB, Extensions6:item6CB, Extensions7:item7CB, Extensions8:item8CB} set p to 3.5 #set tempArray to (current application's NSArray's arrayWithArray:temp) set p to 3.51 end repeat set p to 3.6 set (my ExtValueDict) to tempList my fordEvent() set p to 3.7 my SaveExtensionData() else set (my setUpExtension) to false end if set p to 4 try tell ListWindow to display() end try my fordEvent() set p to 5 try tell me to activate end try ListWindow's makeKeyAndOrderFront:me set p to 6 on error errmsg number errnum tell application "System Events" to display dialog ("AppDelegate's displayExtensionsWindow " & " p = " & p & " " & errmsg as text) end try end displayExtensionsWindow on SaveExtensionData() try set thePPath to POSIX path of ((my mailManagerDesktopFolderPath as text) & "Extension Data.plist") as text end try try set ExtValueDict to ExtensionsArrayController's arrangedObjects() as list on error errmsg number errnum say "Extension Array controller" set ExtValueDict to {} tell application "System Events" to display dialog ("SaveExtensionData " & errmsg as text) giving up after 20 end try try say 2000 tell application id "com.apple.systemevents" ExtValueDict's writeToFile:thePPath atomically:true —< ERRORS end tell on error errmsg number errnum tell application "System Events" to display dialog ("AppDelegate's SaveExtensionData " & errmsg as text) end try end SaveExtensionData on applicationShouldTerminate:sender -- Insert code here to do any housekeeping before your application quits return current application's NSTerminateNow end applicationShouldTerminate: end script
|
|
Re: Trying to set up 8 column Table with 276 embedded Check Boxes.
Brian Christmas
G'day,
For the ObjC group. Thanks Jens. Sorry for overstepping the etiquette. I actually posted to both lists, hopefully, but it's an ASObC Project, so I think it belongs here, or else, why not please? Does the Applescript list cover these Projects? I've been battling with the code, and simplified it, so I'll just post snippets, if that's OK. try set item1CBVisible to true # (current application's NSMutableDictionary's dictionaryWithObjects:{true} forKeys:{value}) set item1CBTitle to (item (i) of (my extensionsToIgnore) as text) #} on error set item1CBVisible to false # (current application's NSMutableDictionary's dictionaryWithObjects:{false} forKeys:{value}) set item1CBTitle to "" #} forKeys:{title}) end try set temp to (current application's NSMutableDictionary's dictionaryWithObjects:{item1CBVisible, item1CBTitle} forKeys:{Extensions1CBValue, Extensions1CBTitle}) set anObj to {Extensions1CB:temp} (ExtensionsArrayController's addObjects:anObj)
|
|
test only
Willis Grant
Test only
|
|
How Do I Search For String in Contact's EMail Address?
Please see
How Do I Search For String in Contact's EMail Address?
|
|
Plist problem under Sierra!
Brian Christmas
G’day
The following shortened code has worked flawlessly for 6 years, and now party (mostly) fails, especially when saving the email addresses. I’ve checked the output of the Array Controllers, and even replaced them. The count of the output matches the lines of the filled in Table connected to the Array Controllers. However, when creating a Dictionary, it seems to fail. Some parts write to the plist, most don’t. Basically just the simple variables. I’ve spent all day trying to find guidance on Apples sites, but haven’t found anything. Four array Controllers store email lists, 3 of them also have a cell tick box, 1 of them has two cell tick boxes. The Tables are naturally cell based. Always have been. Any advice, please? Regards Santa on saveTheGeneralData() # Set up Emails try set emailText1Array to table1ArrayController's arrangedObjects() as list on error errmsg set emailText1Array to {} my displayError("saveTheGeneralData 1 " & errmsg as text) end try try set emailText2Array to table2ArrayController's arrangedObjects() as list on error errmsg set emailText2Array to {} my displayError("saveTheGeneralData 2 " & errmsg as text) end try try set emailText3Array to table3ArrayController's arrangedObjects() as list on error errmsg set emailText3Array to {} my displayError("saveTheGeneralData 3 " & errmsg as text) end try # try set (my lastReceivedEmailsList) to emailListArrayController's arrangedObjects() as list on error errmsg set lastReceivedemailsListList to {} my displayError("saveTheGeneralData 4 " & errmsg as text) end try try set mailDict to current application's NSDictionary's dictionaryWithDictionary:{mailAddressesMainErrorKey:mailAddressesMainError, emailText1Key:emailText1Array, emailText2Key:emailText2Array, emailText3Key:emailText3Array} ## FAILS, cannot retrieve values. end try # ## Lots snipped out # try set (my theLastMidnightCheckerStoreNSDate) to my makeNSDateFrom:theLastMidnightCheckerStore end try try set numbersDict to current application's NSDictionary's dictionaryWithDictionary:{sendNumbersChartAlsoKey:sendNumbersChartAlso, sendNumbersChartOnlyKey:sendNumbersChartOnly, numbersGraphStoreEachNumbersFileKey:numbersGraphStoreEachNumbersFile, numbersGraphPreviousDaysPermanentKey:numbersGraphPreviousDaysPermanent, numbersGraphPreviousWeeksPermanentKey:numbersGraphPreviousWeeksPermanent, numbersGraphPreviousMonthsPermanentKey:numbersGraphPreviousMonthsPermanent, numbersGraphLastYearsPermanentKey:numbersGraphLastYearsPermanent, theNumbersGraphTypeKey:theNumbersGraphType} on error errmsg number errnum my displayError("saveTheGeneralData set numbersDict " & errmsg as text) end try try set (my theNSPreviousSunday) to my makeNSDateFrom:(my thePreviousSunday) on error errmsg number errnum set (my theNSPreviousSunday) to my makeNSDateFrom:(current date) end try try set myDict to current application's NSDictionary's dictionaryWithObjects:{mailDict, theBusinessName, theServerDisk, serverBackupState, hourlyReports, theCoverPagePrinter, theSmallPaperList, theLargePagePrinter, theLargePaperList, sayEveryErrorMessage, rtfdPapersize, largePapersize, voiceSetter, emailsMaxRetrievable, lastReceivedEmailsList, interarchyActivator, saveLocalftpArchiveOnserver, theLastMidnightCheckerStoreNSDate, emailsToChooseFromSortDefiner, numbersDict, theNShourlyReportsDateKeeper, theNSPreviousSunday, specialReportSetterTitle, theLastSpecialReportStoreNSDate, ignoreGraphicConverterCount, checkInterarchyEvery, theMainEmailAddress, includeCompressedExcelSpreadSheet, maxBarcodeCharacters, printGCToA4Test, barcodeSize, dontPrintSignatures, SendErrorMessage, SendSalesErrorMessage, shutDownCycle, errorsListDisplay, eMailAddressesList, printBarcodes, replaceMissingFonts, activateInDesign, AcrobatOverlap, printWithQuark, cropBoxError, cropBoxErrordpi, salesAddressKeeperStore, printEveryImage, eMailAddressesListButton, theGCPosition, saveToAccountancy, saveToAccountancyPath} forKeys:{"mailDictKey", "theBusinessNameKey", "sFKey", "serverBackupStateKey", "hourlyReportsKey", "theCoverPagePrinterKey", "theSmallPaperListKey", "theLargePagePrinterKey", "theLargePaperListKey", "sayEveryErrorMessageKey", "rtfdPapersizeKey", "largePapersizeKey", "voiceSetterKey", "emailsMaxRetrievableKey", "lastReceivedemailsListKey", "interarchyActivatorKey", "saveLocalftpArchiveOnserverKey", "theLastMidnightCheckerStoreNSDateKey", "emailsToChooseFromSortDefinerKey", "numbersDictKey", "hourlyReportsDateKeeperKey", "thePreviousSundayKey", "specialReportSetterKey", "theLastSpecialReportStoreNSDateKey", "ignoreGraphicConverterCountKey", "checkInterarchyEveryKey", "theMainEmailAddressKey", "includeCompressedExcelSpreadSheetKey", "maxBarcodeCharactersKey", "printGCToA4TestKey", "barcodeSizeKey", "dontPrintSignaturesKey", "SendErrorMessageKey", "SendSalesErrorMessageKey", "shutDownCycleKey", "errorsListDisplayKey", "eMailAddressesListKey", "printBarcodesKey", "replaceMissingFontsKey", "activateInDesignKey", "AcrobatOverlapKey", "printWithQuarkKey", "cropBoxErrorKey", "cropBoxErrordpiKey", "salesAddressKeeperStoreKey", "printEveryImageKey", "eMailAddressesListButtonKey", "theGCPositionKey", "saveToAccountancyKey", "saveToAccountancyPathKey"} on error errmsg number errnum tell application "System Events" to display dialog "Setting myDict " & errmsg end try try tell application id "com.apple.systemevents" myDict's writeToFile:thePPath atomically:true end tell on error errmsg number errnum my displayError("AppDelegate's saveTheGeneralData " & errmsg as text) end try end saveTheGeneralData
|
|
Absolutely perplexed!!
Brian Christmas
G’day I’ve written before how Shane's eBook method of saving to a .plist no longer works with some data, specifically listed data from Array Controllers, in High Sierra, but with the latest iterations of current Sierra, they’ve stopped working too!!! So, I’ve researched, and altered my approach, but still get a major problem. EVERYTHING I’ve found indicated Shane’s method is supposed to work, and WAS up until the latest release of Sierra. The code below, which reads data from 4 controllers, works on my first pass setting it up, with default data, and the Array Controller lists set as simply {}, but on the second pass, when the Array Controllers actually contain data, and they save as a .plist file, the list becomes unopenable after just the first write. I’ve tried setting the READ Array Controller data to a list and a record, and saving both as a list and a record, and enclosing the variable in curly brackets. All fail. The icon of the .plist file, after failure, looks like this… Error is …'Brian’s Disk:Users:OzSanta:Desktop:Mail Manager Folder:General Data.plist’ is not a property list file Can ANYONE please tell me what I’m supposed to do? Regards Santa on saveTheGeneralData() # Set up Emails try say 100 set emailText1Array to table1ArrayController's arrangedObjects() as list say 101 on error errmsg set emailText1Array to {} my displayError("saveTheGeneralData 1 " & errmsg as text) end try try set emailText2Array to table2ArrayController's arrangedObjects() as list on error errmsg set emailText2Array to {} my displayError("saveTheGeneralData 2 " & errmsg as text) end try try set emailText3Array to table3ArrayController's arrangedObjects() as list on error errmsg set emailText3Array to {} my displayError("saveTheGeneralData 3 " & errmsg as text) end try # try set (my lastReceivedEmailsList) to emailListArrayController's arrangedObjects() as list on error errmsg set lastReceivedemailsListList to {} my displayError("saveTheGeneralData 4 " & errmsg as text) end try try set thePPath to POSIX path of ((path to desktop as text) & "Mail Manager Folder:General Data.plist") as text on error errmsg number errnum tell application "System Events" to display dialog "Setting thePPath " & errmsg end try try set numbersDict to current application's NSDictionary's dictionaryWithDictionary:{sendNumbersChartAlsoKey:sendNumbersChartAlso, sendNumbersChartOnlyKey:sendNumbersChartOnly, numbersGraphStoreEachNumbersFileKey:numbersGraphStoreEachNumbersFile, numbersGraphPreviousDaysPermanentKey:numbersGraphPreviousDaysPermanent, numbersGraphPreviousWeeksPermanentKey:numbersGraphPreviousWeeksPermanent, numbersGraphPreviousMonthsPermanentKey:numbersGraphPreviousMonthsPermanent, numbersGraphLastYearsPermanentKey:numbersGraphLastYearsPermanent, theNumbersGraphTypeKey:theNumbersGraphType} on error errmsg number errnum my displayError("saveTheGeneralData set numbersDict " & errmsg as text) end try tell application id "com.apple.systemevents" set plistParentRecord to make new property list item with properties {kind:record} as record set propertyListFile to make new property list file with properties {contents:plistParentRecord, name:thePPath} # # Actually Arrays # tell property list items of propertyListFile try make new property list item at end with properties {kind:list, name:"emailText1Key", value:{emailText1Array}} — <<< ALWAYS FAILS HERE WHEN ACTUALLY WRITING DATA, Says ‘1’, but never ‘2’ once written. say 1 end try try make new property list item at end with properties {kind:list, name:"emailText2Key", value:emailText2Array} say 2 end try try # make new property list item at end with properties {kind:record, name:"emailText3Key", value:{emailText3Array}} say 3 end try try make new property list item at end with properties {kind:list, name:"lastReceivedEmailsListKey", value:lastReceivedEmailsList} say 3.1 end try try make new property list item at end with properties {kind:list, name:"numbersDictKey", value:numbersDict} say 4 end try try make new property list item at end with properties {kind:list, name:"eMailAddressesListButtonKey", value:eMailAddressesListButton} say 4.01 end try try make new property list item at end with properties {kind:list, name:"hourlyReportsKey", value:hourlyReports} say 4.1 end try try make new property list item at end with properties {kind:list, name:"salesAddressKeeperStoreKey", value:salesAddressKeeperStore} say 4.3 end try try make new property list item at end with properties {kind:list, name:"theSmallPaperListsKey", value:theSmallPaperList} say 4.4 end try try make new property list item at end with properties {kind:list, name:"theLargePaperListKey", value:theLargePaperList} say 4.5 end try try make new property list item at end with properties {kind:list, name:"eMailAddressesListKey", value:eMailAddressesList} say 4.6 end try try say 5 make new property list item at end with properties {kind:string, name:"mailAddressesMainErrorKey", value:mailAddressesMainError} make new property list item at end with properties {kind:string, name:"theBusinessNameKey", value:theBusinessName} on error errmsg tell application "System Events" to display dialog errmsg end try say 6 make new property list item at end with properties {kind:number, name:"emailsMaxRetrievableKey", value:emailsMaxRetrievable} # ETC. say 7 make new property list item at end with properties {kind:date, name:"theLastMidnightCheckerStoreNSDateKey", value:theLastMidnightCheckerStoreNSDate} # ETC. say 9 make new property list item at end with properties {kind:boolean, name:"serverBackupStateKey", value:serverBackupState} # ETC. say 10 end tell end tell end saveTheGeneralData
|
|
Apple events overridden.
Ilya Shebalin
Hi,
I faced an issue of iTunes (or QuickTime Player) being unable to respond to events sent by my script long ago, even posted here, but now I seem to figure out the true reason behind such an odd behavior. The script is designed to wake me up at the time I tell it by interacting through dialogs by playing an iTunes tune or a one opened and played by QTP and is saved as a plugin activated upon invoking from the scripts menu icon. The strangest part is that if I launch iTunes or QTP after I'm done with firing up the script (which, of course, always happens before the wake-up time) then the script wouldn't work but would otherwise. This is confirmed by thorough experimenting. Do this:
My question would be: is there a way to work around this obvious misbehavior/bug? The script is (please consider going through the information put in my comments): property start_date : "" property end_date : "" property AlarmDate : "" on MakeUnixDate(AlarmDate) --assembles the date suitable for shell commands. NB. The presence of this particular handler was determined by my localization. US users probably won't need it and, thus, can safely disregard. For those only do shell script part is essential and has to remain for which placing it inside the handler is not necessary. All credits for pointing me out to a better implementation of OS X-to-Unix dates conversion found inside this handler go to Yvan Koenig. set locale_Date to date AlarmDate set timeString to time string of locale_Date set Unix_day to text -2 thru -1 of ((100 + (day of locale_Date)) as string) set Unix_month to text -2 thru -1 of ((100 + (month of locale_Date)) as string) set Unix_year to text -2 thru -1 of (year of locale_Date as string) set ShortUnix_date to Unix_day & Unix_month & Unix_year set FullUnixDate to Unix_date & timeString do shell script "sudo pmset schedule wake " & quote & FullUnixDate & quote password "" with administrator privileges --IMPORTANT! Type in your user password instead of the empty quotes before running the script end MakeUnixDate repeat display dialog "Enter event start date" default answer start_date buttons {"Cancel", "OK"} default button "OK" set EnteredStartTime to text returned of result try set start_time to date EnteredStartTime exit repeat on error display dialog "Invalid date. Try again." try on error number -128 return end try end try end repeat repeat set EndTimePrompt to display dialog "Enter event end date" default answer end_date buttons {"Cancel", "OK"} default button "OK" set EnteredEndTime to text returned of EndTimePrompt try set end_time to date EnteredEndTime if end_time ≥ start_time then exit repeat else display dialog "Invalid data: end date can't go before start date." & return & return & "Error: end date " & quote & date string of end_time & ", " & time string of end_time & quote & space & "entered is before start date " & quote & date string of start_time & ", " & time string of start_time & quote end if on error display dialog "Invalid date. Try again." try on error number -128 return end try end try end repeat display dialog "Start date: " & start_time & return & "End date: " & end_time set EventSummaryPrompt to display dialog "Enter brief description" default answer "" set EventSummaryResponse to text returned of EventSummaryPrompt set EventLocationPrompt to display dialog "Enter location" default answer "" set EventLocationResponse to text returned of EventLocationPrompt set EventNotesPrompt to display dialog "Enter miscellaneous information" default answer "" set EventNotesResponse to text returned of EventNotesPrompt set EventAlarmPrompt to display dialog "Enter reminder time, min before the start date " & (time string of start_time) default answer "" set EventAlarmResponse to (text returned of EventAlarmPrompt) as real set AlarmTriggerTime to start_time - EventAlarmResponse * minutes tell application "iCal" run set AllCalendars to get name of every calendar set AppleScript's text item delimiters to return set CalendarColumn to AllCalendars as text delay 3 set CalendarListPrompt to display dialog "Your calendars:" & return & return & CalendarColumn default answer "" set CalendarListResponse to text returned of CalendarListPrompt set NewCalendarEvent to make new event with properties {start date:start_time, end date:end_time, summary:EventSummaryResponse, location:EventLocationResponse, description:EventNotesResponse, status:confirmed} at end of calendar CalendarListResponse set AlarmNotificationPrompt to display dialog "Set a reminder?" buttons {"No reminder", "Set"} default button "Set" if button returned of AlarmNotificationPrompt is "Set" then display dialog "Enter name of the reminder" default answer "" set ToDoSummary to text returned of result set NewTodo to make new todo with properties {priority:high priority, summary:ToDoSummary} at the end of calendar named CalendarListResponse set SoundAlarmPrompt to display dialog "Set a sound alarm for the reminder?" buttons {"No sound alarm", "Set"} default button "Set" if button returned of SoundAlarmPrompt is "Set" then display dialog "Enter a date for the reminder" default answer "" set AlarmDate to text returned of result display dialog "Choose sound for the sound alarm" & return & return & "Basso, Frog, Hero, Pop, Submarine, Blow, Funk, Morse, Purr, Tink, Bottle, Glass, Ping, Sosumi" default answer "" set SoundAlarmName to text returned of result set SoundAlarm to make new sound alarm with properties {trigger date:date AlarmDate, sound name:SoundAlarmName} at the end of NewTodo my MakeUnixDate(AlarmDate) else display dialog "Enter date for the silent reminder" & return & return default answer "" set AlarmDate to text returned of result set DisplayAlarm to make new display alarm with properties {trigger date:date AlarmDate} at the end of NewTodo my MakeUnixDate(AlarmDate) end if end if display dialog "Done. iCal quits" buttons {"OK"} default button "OK" giving up after 2 quit end tell MakeUnixDate(AlarmTriggerTime as text) ===============================SKIP UNTIL HERE IF YOU'RE ON MOUNTAIN LION OR HIGHER============================================= repeat display dialog "Enter wake-up date" default answer start_date buttons {"Cancel", "OK"} default button "OK" set EnteredStartTime to text returned of result try set AlarmTriggerTime to date EnteredStartTime exit repeat on error display dialog "Invalid date. Try again." try on error number -128 return end try end try end repeat set locale_Date to AlarmTriggerTime set timeString to time string of locale_Date set Unix_day to text -2 thru -1 of ((100 + (day of locale_Date)) as string) set Unix_month to text -2 thru -1 of ((100 + (month of locale_Date)) as string) set Unix_year to text -2 thru -1 of (year of locale_Date as string) set ShortUnix_date to Unix_day & Unix_month & Unix_year set FullUnixDate to Unix_date & timeString do shell script "sudo pmset schedule wake " & quote & FullUnixDate & quote password "" with administrator privileges --IMPORTANT! Type in your user password in place of the empty quotes before running the script tell application "iTunes" launch ignoring case, white space, diacriticals and punctuation set playlistList to name of every playlist of source "Library" --IMPORTANT! The name of this source may be different in your localization set the_body to items 2 thru -1 of playlistList --formatting the list excluding the source's name set AppleScript's text item delimiters to return set formatted_body to the_body as text set theHeader to item 1 of playlistList & return & return --formatting the list including the source's name which will now be its header display dialog theHeader & formatted_body buttons {"Cancel", "Continue"} default button "Continue" default answer "" --all playlists of the uppermost level are displayed set playlistName to text returned of result --enter the playlist of your choice set targetPlaylistName to name of playlist named playlistName --the entered value is the name of the playlist you chose and it becomes a value of the variable. set targetTrackList to name of every track of playlist named targetPlaylistName --all tracks of the chosed playlist set the_body to items of targetTrackList --formatting the list containing the tracks set AppleScript's text item delimiters to return set formatted_body to the_body as text end ignoring set theHeader to "Playlist " & targetPlaylistName & return & return display dialog theHeader & formatted_body buttons {"Cancel", "Continue"} default button "Continue" default answer "" --list of all tracks pf the chosen playlist, formatted set TrackName to text returned of result --enter the track of your choice set targetTrackName to name of track named TrackName --the entered value is the name of the track you chose and it becomes a value of the variable. set TrackToPlay to track named targetTrackName --этот трек будет воспроизведён и становится переменной, передаваемой программе "iTunes" set VolumePrompt to display dialog "Set volume for the iTunes track" & return & return & "Any integer between 0 (min) and 100 (max)" default answer "" set EnteredVolume to text returned of VolumePrompt --set volume for the track display dialog "Done. iTunes quits" buttons {"OK"} default button "OK" giving up after 2 quit end tell repeat until (current date) = AlarmTriggerTime delay 1 end repeat tell application "iTunes" launch set visible of browser window 1 to false set sound volume to EnteredVolume if TrackToPlay exists then set track_time to duration of TrackToPlay play TrackToPlay delay (track_time) end if set sound volume to 100 quit it end tell P.S. Already having composed this message I realized that for many of you the iCal part might be irrelevant since it's been replaced by Contacts and Reminders in Mountain Lion and onwards. However, since the most significant part of the script may not necessarily involve creating a Calendar event and the countdown to iTunes launch is of greater importance, those of you, who're on newer than Lion version of OS are suggested to skip the part up to the indicated part (separated from the iCal part with the hatch) and copy paste the rest of the script. Sincerely Yours, Ilya Shebalin E-mail: iljashebalin2@...,
|
|
Asking for Advice on distribution, please?
Brian Christmas
G’day Folks I’m after some advice please. I want to place my 10-years-in-the-making Project, Mail Manager, on the open market. At first I thought of the App Store, but reading Shane’s ‘Explored’ has me worried. If you’ll bear with me, I’ll explain what my App does, and how. Then, if you’ve persevered, I’d appreciate any advice on how to market it, and any thoughts on if it would pass App Store scrutiny. It’s role is to automatically process incoming email images, that can be used for such tasks as die making. It’s designed to run 24/7, and has done so for 5 years as an App, and 5 years prior as a collection of scripts.. 1. It’s all wrapped into one App package, that relocates itself to the Application folder, and adds a permanent Icon in the Dock. Once running, it runs 24/7. It contains an additional 11 embedded Apps. 2. It places a Barcode128 font into the Fonts folder. 3. It places an Applescript ‘Mail Manager Caller’ into the Application Scripts folder. 4. It places an Applescript ‘ftp Downloader’ into the Folder Actions Scripts folder. 5. As it’s first installed, it creates a Mail Rule, and applies it to a User selected Inbox. 6. It has six embedded signed Application in a ‘Scripts’ folder, which it calls and runs as needed. 7. One of the embedded Apps, ‘Mail Manager Item Printer’, runs pretty much all the time. 8. In the same folder, it contains two pdf’s, that it opens as requested, for information. 9. It’s role is to takle all incoming email, and print pretty much any and all attached Graphic file, at 100% Size, on a user selected sized sheet, overlapping with a user set overlap on multiple page prints. 10. It optionally adds two barcodes, and two English text dialogs, to each individual image. Each Barcode starts as unique to that email, and has a terminating unique-to-that-print-Job-within-the-email number. 11. When finished, it prints a ‘Cover Sheet’, on a smaller user selected sized sheet, that contains all necessary details, such as Company Name, Email DateTime Barcode, Sender, list of Attachments, list of opened zipped attachments, text contents of email, etc. 11. It saves the finished emails in a time dated mailbox, one for each day, each month, each year. 12. It saves all Clients details for later referral. A list of details of a user set number of emails is displayed. Clicking on one will open the email, and its saved data folder. 13. It saves all images, both before and after barcoding, to the local Mac, and an optional copy to a nominated server. It has a Utility App for finding and opening old emails and their folders. 14. It optionally uses the ftp Client ‘Interarchy’, to monitor folders on a remote Server, automatically downloads the folders after any items are added, and prints and stores them as for an email. 15. It has two extra Applications in a folder, in the embedded Scripts folder, the folder which optionally can be opened to the Applications folder. 16. One of those Apps is for copying as many times as required, to any workstations, that make up part of any manufacturing process that uses the printed images. 17. This app allows scanning of the printed barcode on the image sheet on commencement of work on any particular job, and at the end of the work. More than one can be in progress at once. 18. It also seletively allows the entry of measurements of each job, in either inches or centimetres. 19. It allows a remote server such as in the Accountancy department, to be selected, and indicates the online status of that server. 20. If the server is online, it allows periodic saving of completed jobs to the server, saving the timing, measurements, and email and image sheete details. If errors occur, the job details are not lost. 21. It saves and displays sent completed jobs for 14 days, at each workstation. 22. If Accountancy access is selected, the main Mail Manager App also saves relevant data to the same Accountancy server FILE as the work stations. It is irrelevant what order the information is stored in. 23. The second App (still being written) will assess the data, and display an summation of each email (Total processed time, total processed Job area (if applicable)), and offer a range of pre-prepared email layouts using that data, that will just need completion by the Accountancy department. 24. When Mail Manager need another App to carry out anything, it saves a .dat file to the desktop,with all necessary variables, calls the App to open, which reads the saved file, trashes it, carries out the work, and closes. 25. When certain other Apps are open, such as a Utility to set up Interarchy easily, or to set up up files for interaction with PitStop Pro (an Acrobat utility), Mail Manager halts processing while those Apps are open. 26. Two Apps run permanently, one that monitors optional Interarchy downloading, and 'Mail Manager Item Printer' (this closes when Mail Manager closes), 27. Mail Manager also optionally sends detailed emailed reports and graphs of incoming mail and total printed Jobs. These can be any hour(s) of the day (start of GMT zero time day, to present hour), a single nominated hour that sums up the previous 24 hours data, a daily, weekly, monthly, and two yearly reports (day by day, & month by month) (all optional). 28. It also can optionally send error messages (wording as set up by Operator, logo added by Mail Manager), to Clients that submit problematic artwork, and also/only to the Public Relations Department (or whatever; an email list can be constructed) 29. Every Graphic that GraphicConverter can print can be optionally turned ON/OFF individually. 30. Mail Manager can be placed into a cancelable/renewable 10 minute Standby, and can re-process emails that are dropped onto a 're-cycle’ mailbox (It only reprints the cover sheet). 31. Mail Manager requires TextEdit, Interarchy (optional), GraphicConverter, Quark (optional), Acrobat, PitStop Pro (Optional), InDesign (optional), Illustrator, Word, Excel, and of course, Mail. What I’m wondering, is it actually simple enough that it’s worth spending time learning and carrying out sandboxing, and trying to submit to the Apps Store??? (I take Shane’s warning/advice seriously). I’ve tried to follow the KISS principle in its operation. If not, is anyone please able to tell me what other options I’d have for distribution (I don’t want to handle it myself). Any links?? I’d prefer a monthly lease, and a two month free trial. Thank you to anyone whose read this far, and many more thanks to anyone that answers back. Regards Santa
|
|
Re: Asking for Advice on distribution, please?
2551phil
There’s no ftp in High Sierra, so you’ll have to rethink that. But
You’re going to need a website to give it a home page, deal with customer support, provide documentation etc. It’s a requirement for App Store submission, although from what I’ve seen they’re not particularly rigorous about enforcing it. As for self-distribution, just throw it up on MacUpdate and similar sites, register with an e-Commerce vendor like FastSpring to handle all the payment processing, set up a simple website to give it a home page etc and away you go. It’s a lot simpler than dealing with sandboxing I can assure you, and you’re typically only paying < 10% commission, including overheads, instead of Apple’s 30%. Best Phil Me on Twitter @philofishal @sqwarq Me on the web: sqwarq.com applehelpwriter.com Get DetectX - The mac troubleshooting app http://sqwarq.com/detectx
|
|
Re: Asking for Advice on distribution, please?
Huh? Interarchy is an FTP app. It has its own FTP stack, so it's not dependent on any FTP implementation in the OS. As for the app, Brian — to me it sounds very special-purpose, for a limited market. And the list of apps it requires is quite daunting! It doesn't sound like something that would work in a mass-market channel like the App Store. If I were trying to sell this I'd go for targeted marketing toward the types of professionals who'd have a use for it. —Jens
|
|
Re: Asking for Advice on distribution, please?
Brian Christmas
Thanks Phil & Jens. It IS a limited market, but the bloke (Aussie for ‘Guy’) who instigated this whole thing in the first place, believes a now much more versatile App than what I’ve written for my only Client, (who I’m in dispiute with), might have unforseen use in many industries, besides the die creation businesses. He thinks there’s LOTS of people who have to print 100% accurate images, and particularly the automation of PitStop Pro would be welcome. Pitstop Pro has a wide client base. Also automated ftp monitoring, downloading and printing can save lots of time.
toggle quoted messageShow quoted text
Typically, MM prepares and prints each image in roughly 15 seconds, on an i7 2014 iMac, with a per email overhead of about 30 seconds. Printing a 30 pdf email takes about 8 1/2 minutes, including PitStop Pro Preflight treatment. AND, as I said, the additional printing of a Barcode is optional, but, adding a barcode opens up a whole new world of monitoring. MM saves lots of Data, and one App displays past Clients, and how many emails and Jobs they’ve submitted. So, you instantly know who your most prolific Clientel are. Everything I’ve ever written has my Copyright notice on it. Who knows. I’d like to throw it out there and see. Phil, do you know if FastSpring offers free trials, and leases by the month? I have a Website for my Coding Company, but have never advertised it, so setting up a site will be easy. Jens, thank you for pointing out that Interarchy does not need external ftp support. My heart sank when I read Phils comment. Many, many thanks. Hopefully I can give Apples tight restrictions a miss. Just as well I remembered Shane’s warning, and re-read it. Thanks Shane! Regards Santa
|
|
Re: Asking for Advice on distribution, please?
2551phil
I think you’ve got the wrong idea about what they do. They don’t lease anything. They act as a payment broker for your app. They can set up a page on their website that looks like your website, so that when customers click a ‘Buy’ button on your web page, it takes them seamlessly to the payment page on FastSpring's site. Unless customers actually notice the url in the header, they won’t even be aware that they’re not on your website any longer. The page customers get taken to has all the order details fields and can take all the various payment methods (visa, mastercard, paypal, even PO and cheque) that customers might want to use. The vendor sorts out all the taxes for your sales, then pays you on a fortnightly or monthly basis - minus their commission, of course (as I say < 10%). If you want to understand the process more clearly, have a wander around their website: FastSpring are not the only e-Commerce vendor around nor even the most modern or slick in terms of interface and APIs, but I’ve been using them for a couple of years and they’re both very reliable and have extremely good customer service. Jens, thank you for pointing out that Interarchy does not need external ftp support. My heart sank when I read Phils comment. Sorry, I missed the Interarchy bit. I just saw mention of ftp and remembered that I’d seen that the ftp command line tool had been removed in 10.13. Best Phil @sqwarq
|
|
Re: Asking for Advice on distribution, please?
Brian Christmas
G’day Takaaki
toggle quoted messageShow quoted text
Thankd for this tip. I use the GUI heavily, and haden’t thought of localisation. I usually use numbers instead of names, but have used names where newer versions of Apps change the number of a GU I item between version numbers. I’ll have to change manu lines of code, but it will be worth it. Perhaps you’ll now be able to answer the next question I’m asbout to post. Regards Santa
|
|
How do I 'Lock in' the appearance of a Finder window???
Brian Christmas
G’day again
I’ve researched this for 3 hours, and no one seems to address my problem. I have a folder buried in my Application, that contains an image as a background, and two Applications. EVERYTHING about the folder display is turned OFF, even the Toolbar. However, when I save it and use a button to open it, the Toolbar reactivates, and the Sidebar also shows. Is there ANY way of saving/opening that darn folder so nothing except the background image and the two icons display, please? I’ve tried locking the folder, but nothing changes, except when it’s unlocked, a line appears in the window, that represents the old right edge of the saved folder, and a white right vertical bar the same width as the sidebar is ‘locked’ onto the right of the window. There must be someway of doing it, as distributed Apps usually have a window with just the App icon, and backgound image, and an Application ‘alias’ icon. Regards Santa
|
|
Re: How do I 'Lock in' the appearance of a Finder window???
2551phil
You need to set the Finder view options when you open that folder, otherwise it’ll just use the default options on the user’s machine.
toggle quoted messageShow quoted text
You already know how to do that in AppleScript. Just check the Finder dictionary for the properties you want to change. E.g: tell application "Finder" tell front window # or the window’s name, better set toolbar visible to false # set… # what ever other properties you need end tell end tell Best Phil @sqwarq
|
|
Re: How do I 'Lock in' the appearance of a Finder window???
You may be interested in a couple of scripts posted by Chris Stone earlier in the year:
Also see this post by Chris, to make the changes permanent after you have set them:
Best Regards,
Jim Underwood
aka JMichaelTX
From: AppleScript-Users <applescript-users-bounces+jmichael=apoemail.us@...> on behalf of Brian Christmas <ozsanta@...>
Date: Tuesday, August 22, 2017 at 12:12 AM To: Applescript Xcode new list <applescript@apple-dev.groups.io>, "ASUL (AppleScript)" <applescript-users@...> Subject: How do I 'Lock in' the appearance of a Finder window???
Is there ANY way of saving/opening that darn folder so nothing except the background image and the two icons display, please?
I’ve tried locking the folder, but nothing changes, except when it’s unlocked, a line appears in the window, that represents the old right edge of the saved folder, and a white right vertical bar the same width as the sidebar is ‘locked’ onto the right of the
window.
There must be someway of doing it, as distributed Apps usually have a window with just the App icon, and backgound image, and an Application ‘alias’ icon.
|
|
The strangest thing is happening!!!
Brian Christmas
G’day folks I’m trying to deal with a situation that is crashing one on my Apps, and don’t know what’s causing it. My main app saves a list of variables on the desktop, and the printing app reads them, and deals with the emailed files, which are saved in a special folder. Only the folder reference is saved, no mention of the files inside it. The folder and the saved files are being created just fine. The separate App that prints all the emailed images only crashes when I use an .indd file, and it’s working fine with every file type except when I use any InDesign file, then actually reading the file that transfers the variables, crashes the App cold turkey! It CAN’T be the actual file format, but must be one of the written variables, but because it’s crashing, I can’t error trap it. Even logging doesn’t work. I’m attaching a compressed folder of two.dat files, one OK, the right one crashes. Does anyone know of a way of interpreting the data to tell me which variable is at fault, please? I’ve tried reading the .dat file with Applescript, but Script Editor crashes. I’ve been over and over my code since 8 am this morning, (it’s now 2:30 am the next morning), but can't locate what’s wrong, or why just a .indd file would do this. My 13,000+ lines of code is obviously wrong somewhere, but the handler compiling the variable file is not erroring, so I’m up the proverbial creek without a paddle! I need to somehow know which variable is causing the crash, please. The crash log is below, but I don’t know how to read the information. Does it help??? Googling has been useless. Alongside the arrowed line is this... Regards Santa libobjc.A.dylib`objc_retain: 0x7fffb03faf10 <+0>: pushq %rbp 0x7fffb03faf11 <+1>: movq %rsp, %rbp 0x7fffb03faf14 <+4>: xorl %eax, %eax 0x7fffb03faf16 <+6>: testq %rdi, %rdi 0x7fffb03faf19 <+9>: je 0x7fffb03faf64 ; <+84> 0x7fffb03faf1b <+11>: testb $0x1, %dil 0x7fffb03faf1f <+15>: jne 0x7fffb03faf61 ; <+81> 0x7fffb03faf21 <+17>: movq (%rdi), %rax 0x7fffb03faf24 <+20>: movabsq $0x7ffffffffff8, %rcx ; imm = 0x7FFFFFFFFFF8 0x7fffb03faf2e <+30>: andq %rax, %rcx -> 0x7fffb03faf31 <+33>: testb $0x2, 0x20(%rcx) 0x7fffb03faf35 <+37>: je 0x7fffb03faf66 ; <+86> 0x7fffb03faf37 <+39>: testb $0x1, %al 0x7fffb03faf39 <+41>: je 0x7fffb03faf5b ; <+75> 0x7fffb03faf3b <+43>: movabsq $0x100000000000000, %rcx ; imm = 0x100000000000000 0x7fffb03faf45 <+53>: movq %rax, %rdx 0x7fffb03faf48 <+56>: addq %rcx, %rdx 0x7fffb03faf4b <+59>: jb 0x7fffb03faf76 ; <+102> 0x7fffb03faf4d <+61>: lock 0x7fffb03faf4e <+62>: cmpxchgq %rdx, (%rdi) 0x7fffb03faf52 <+66>: je 0x7fffb03faf61 ; <+81> 0x7fffb03faf54 <+68>: movq (%rdi), %rax 0x7fffb03faf57 <+71>: testb $0x1, %al 0x7fffb03faf59 <+73>: jne 0x7fffb03faf45 ; <+53> 0x7fffb03faf5b <+75>: popq %rbp 0x7fffb03faf5c <+76>: jmp 0x7fffb0403118 ; objc_object::sidetable_retain() 0x7fffb03faf61 <+81>: movq %rdi, %rax 0x7fffb03faf64 <+84>: popq %rbp 0x7fffb03faf65 <+85>: retq 0x7fffb03faf66 <+86>: leaq 0x97555fb(%rip), %rax ; SEL_retain 0x7fffb03faf6d <+93>: movq (%rax), %rsi 0x7fffb03faf70 <+96>: popq %rbp 0x7fffb03faf71 <+97>: jmp 0x7fffb03fb040 ; objc_msgSend 0x7fffb03faf76 <+102>: xorl %esi, %esi 0x7fffb03faf78 <+104>: popq %rbp 0x7fffb03faf79 <+105>: jmp 0x7fffb04028ac ; objc_object::rootRetain_overflow(bool) 0x7fffb03faf7e <+110>: nop 0x7fffb03faf7f <+111>: nop
|
|