Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Luigi Thirty posted:

Where can I find some resources or documentation for OS 7-8.5? I downloaded MPW and ResEdit (CodeWarrior 7's debugger doesn't work on OS X and CodeWarrior 8 crashes on startup for some reason) and got this far with the help of an online tutorial from 1996 and applying GS toolbox knowledge to the Mac. Turns out the Event Manager calls are the same on Mac OS 9 as they are on GS System 6.



I'll reply with more of an effortpost in the near future, when I'm on break from helping developers. What I'd suggest though is finding the PDFs and Apple DocViewer versions of Inside a Macintosh I-VI and the New Inside Macintosh series, which used to be on Apple's web site and also on a CD you might be able to find.

The specific books in the New Inside Macintosh series you'll want to skim are:

• Overview
• Macintosh Toolbox Essentials
• More Macintosh Toolbox
• Imaging With QuickDraw
• Operating System Utilities
• Memory
• Files
• PowerPC System Software

These will give you a great overview of the classic system architecture and everything else builds on them. You don't need to read them cover to cover, just skim the introductions in each and read a bit more of Toolbox Essentials.

As reference tools, you'll want the Macintosh Programmer's Toolbox Assistant, which has all of the Inside Macintosh reference sections cross-linked by API and accessible at a keystroke in MPW and CodeWarrior, and ObiWan by Peter N Lewis at Stairways Software which is an even quicker reference for things like looking up function prototypes.

eschaton fucked around with this message at 19:37 on Jun 7, 2017

Adbot
ADBOT LOVES YOU

Toady
Jan 12, 2009

With the exception of the Platforms State of the Union, WWDC 2017 videos aren't available in downloadable form on the developer website. Any other way to download them? I assume it's a temporary restriction.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
Are they available for streaming? Perhaps they're not intended to be downloadable.

Toady
Jan 12, 2009

They are streamable, but previous WWDC videos can be downloaded in SD and HD formats in the Resources tab, so it would be an unexpected change.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
The downloads have always been delayed a bit for whatever reason.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
They get edited, and there are more sessions than they can reasonably keep pace with.

Toady
Jan 12, 2009

I only brought it up because, in the past, they were downloadable as MP4s the next day, so I expected the same pace.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
There were definitely some I wanted to watch in previous years which I had to wait a few days for.

Toady
Jan 12, 2009

I remember occasional delays in presentations being posted, but I don't remember any being streamable yet not downloadable.

Edit: JDownloader can download the streams as MP4s in all supported resolutions.

Toady fucked around with this message at 22:54 on Jun 7, 2017

Doctor w-rw-rw-
Jun 24, 2008
So I heard from somewhere that Xcode 9 has something called "xcbuild" (I haven't touched or read any beta stuff).

That's entirely different from https://github.com/facebook/xcbuild right?

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
Nothing to do with it.

Xcode 9 provides access to a new build system, built on llbuild, that you can try out with your projects.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
Yes. It's a new project built on top of llbuild that aims to be compatible with xcodebuild, i.e. by interpreting existing Xcode project files. It is not yet the default build system in Xcode, but that's where we're heading; for now, it's available as a preview.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
I hope people like the Simulator changes. The chrome bezels were one of my projects this year. Multi-device was a big team effort.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
Also the improvements to the localization import/export and stringsdict support. The former may not be very visible but there was a bunch of stuff to do under the hood, and Xcode should handle things like errors in string files and other encodings much better now.

For stringsdict files, if you have entries for (say) the one and other plural variants of a string in your development language file, and you export (say) Russian, you'll get entries in the generated XLIFF for all four or five of the Russian plural variants.

We also have a stable design for the XLIFF identifiers for plural and adaptive width variants, so even if you don't have a stringsdict file as a source file, you can put that data in an XLIFF and get one created on import.

Toady
Jan 12, 2009

This was a great WWDC.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

eschaton posted:

I'll reply with more of an effortpost in the near future, when I'm on break from helping developers. What I'd suggest though is finding the PDFs and Apple DocViewer versions of Inside a Macintosh I-VI and the New Inside Macintosh series, which used to be on Apple's web site and also on a CD you might be able to find.

The specific books in the New Inside Macintosh series you'll want to skim are:

• Overview
• Macintosh Toolbox Essentials
• More Macintosh Toolbox
• Imaging With QuickDraw
• Operating System Utilities
• Memory
• Files
• PowerPC System Software

These will give you a great overview of the classic system architecture and everything else builds on them. You don't need to read them cover to cover, just skim the introductions in each and read a bit more of Toolbox Essentials.

As reference tools, you'll want the Macintosh Programmer's Toolbox Assistant, which has all of the Inside Macintosh reference sections cross-linked by API and accessible at a keystroke in MPW and CodeWarrior, and ObiWan by Peter N Lewis at Stairways Software which is an even quicker reference for things like looking up function prototypes.

Helpfully someone's mirrored Apple's entire System 8-era documentation website so I've been able to find a lot of what I need by typing function prototypes into Google. The CodeWarrior documentation's also helpful and I found a copy of THINK C's Mac API reference. For your prize, here's QuickDraw rotating a triangle, double-buffered in a GWorld for smooth animation that you can't see because I had to VNC into the Mac to record the screen.

idempodunk
May 12, 2001
Toilet Rascal
In case anyone's interested, here's a playlist of a bunch of stuff I heard between sessions https://open.spotify.com/user/ardiem/playlist/0nQqVjbSg6nvNu6kORFH4X

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
I've barely managed to watch any sessions yet but all the stuff so far is very impressive. Shout out to all y'all, ya did good.

Mikey-San
Nov 3, 2005

I'm Edith Head!
Thanks! I don't think it's a stretch to say this is a really big release for us.

If anyone has questions about new XCTest APIs, I'll try to answer them as time permits. Updated (beta) documentation, including new APIs, is also live:

https://developer.apple.com/documentation/xctest

(Spoiler: You can stop using -[XCUIApplication initPrivateWithPath:bundleID:] now.)

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do
I got the impression that with the Simulator being able to run multiple simulators, there would be a way in a UI test to run the same app on two different simulators in order to test things like syncing between devices. But I didn't see this discussed in the What's New In Testing session—did I misunderstand, or was it just not covered?

Also, I am super impressed with the Xcode 9 editor. I was skeptical at first, but it really does feel a lot faster and better. And it screws up no more often than Xcode 8's does for me, which is a big plus.

My only real complaint so far is that if someone has a `#pragma mark - ProtocolName`, you can't command-click on the ProtocolName to jump to that protocol to check it out, like you can in Xcode 8. However, I don't think this ends up being a problem in Swift.

The enhancements to the XCTestExpectation API in 8.3 has been a huge help for us. It's often the little things.

Doh004
Apr 22, 2007

Mmmmm Donuts...
Yeah, great job this year everyone!

- ARKit is incredible and now I wish we had a 3D modeler to work with...
- Drag & Drop is huge! I wish you guys had spent more time talking about its use on iPhone as that's where we'll be using it, but I understand its extra value on iPad. The extra APIs of integrating with UICollectionView and UITableView are game changers
- New XCTest work is fantastic and I think it's time for us to revist UI testing
- Apple Pay inline setup will let us make Apple Pay be the default payment method in our conversion funnel
- Password autofill is such a small thing but a huge win for us driving folks from mobile web -> native. Basically getting it for free because we already do univeral links is A+
- CoreData getting transaction history is so awesome. I can't wait until the majority of our customers are on iOS 11 and we can fully leverage that

I have like 27 pages of notes to go through already, but really can't wait to pitch even more stuff to our product people :cool:

Toady
Jan 12, 2009

Even in beta, Xcode 9 is a pleasure to use.

Mikey-San
Nov 3, 2005

I'm Edith Head!

Axiem posted:

I got the impression that with the Simulator being able to run multiple simulators, there would be a way in a UI test to run the same app on two different simulators in order to test things like syncing between devices. But I didn't see this discussed in the What's New In Testing session—did I misunderstand, or was it just not covered?

Apologies if it was unclear. We had SO MUCH stuff to cover in the session that we had to compress some details, but here's what's newly supported in Xcode 9:

- Running a set of tests on multiple devices or simulators simultaneously, via xcodebuild or Xcode Server. The use case we're trying to cover here is reducing the time it takes to run all your tests across all the devices you support.

- Within a UI test, controlling multiple applications that are running on the same device. You can control applications already installed on the device (e.g., Settings or Safari) or you can control multiple applications that you build in your project.

We don't currently support controlling applications across devices but that's a request we heard several times. I encourage you to file an enhancement request with details about what kinds of things you'd be doing with it.

quote:

Also, I am super impressed with the Xcode 9 editor. I was skeptical at first, but it really does feel a lot faster and better. And it screws up no more often than Xcode 8's does for me, which is a big plus.

My only real complaint so far is that if someone has a `#pragma mark - ProtocolName`, you can't command-click on the ProtocolName to jump to that protocol to check it out, like you can in Xcode 8. However, I don't think this ends up being a problem in Swift.

That's unfortunate. I would file a bug noting the behavior regressed.

quote:

The enhancements to the XCTestExpectation API in 8.3 has been a huge help for us. It's often the little things.

I'm glad to hear! We think the new XCTWaiter and expectation APIs are the kinds of APIs that help people write tests and testing libraries that are as good as their production code.

edit: minor grammar/typo stuff, accuracy

Mikey-San fucked around with this message at 19:58 on Jun 10, 2017

Mikey-San
Nov 3, 2005

I'm Edith Head!
Speaking of "the little things", the block-based teardown API Wil mentioned in the session is this:

https://developer.apple.com/documentation/xctest/xctestcase/2887226-addteardownblock

I thought I'd point this one out since it's pretty easily missed. There's even an example in the docs.

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do

Mikey-San posted:

We don't currently support controlling applications across devices but that's a request we heard several times. I encourage you to file an enhancement request with details about what kinds of things you'd be doing with it.

I was wondering how you'd figured out how to control it in code, so I'm not entirely surprised that you hadn't. I'll try to figure out how best to word it and file a radar.

quote:

That's unfortunate. I would file a bug noting the behavior regressed.

Radar 32695417 filed.


A bit of feedback: so the Test Navigator page? I never knew that existed. There's no obvious way to get to it (I would never think to right-click the test diamond to navigate elsewhere) or its functionality. So when I saw it in the WWDC session, my mind was blown—knowing about that would have made debugging UI tests so much easier! I knew it was taking screenshots, I just assumed there was no way to actually view them in Xcode.

If there were some more obvious way to get there, it would be fantastic. But I don't know how to actually suggest that, because I'm not sure design-wise what that would look like.


However, now that I know that exists, would it be worthwhile filing a radar asking for the ability to import saved test runs? I ask because we use Jenkins for our CI (we don't use Xcode Server for various good reasons, some of which are out of our control), and for our UI tests, we had set up the archiving to include the test result plists and screenshots (which we would manually trawl through on CI failures occasionally to try to track something down. It wasn't easy). It would have been fantastic to actually load up that directory in Xcode to not have to do a bunch of UUID lookups manually.

Mikey-San
Nov 3, 2005

I'm Edith Head!

Axiem posted:

A bit of feedback: so the Test Navigator page? I never knew that existed. There's no obvious way to get to it (I would never think to right-click the test diamond to navigate elsewhere) or its functionality. So when I saw it in the WWDC session, my mind was blown—knowing about that would have made debugging UI tests so much easier! I knew it was taking screenshots, I just assumed there was no way to actually view them in Xcode.

The way people typically access the test report is through the Report Navigator. It's the rightmost icon at the top of the sidebar. (Cmd-8 in Xcode 8, cmd-9 in Xcode 9. I just noticed the numbering coincidence, heh.) In the Report Navigator, you can click the "Test" entries for your schemes and see the test report. Few people know it's accessible via the test diamond contextual menu so we wanted to show that in the session.

quote:

If there were some more obvious way to get there, it would be fantastic. But I don't know how to actually suggest that, because I'm not sure design-wise what that would look like.

In general, don't feel like you need to have a suggestion to file a bug. "I didn't know XYZ existed" is a valid bug!

edit: left out the "dont" there originally, whoops

quote:

However, now that I know that exists, would it be worthwhile filing a radar asking for the ability to import saved test runs? I ask because we use Jenkins for our CI (we don't use Xcode Server for various good reasons, some of which are out of our control), and for our UI tests, we had set up the archiving to include the test result plists and screenshots (which we would manually trawl through on CI failures occasionally to try to track something down. It wasn't easy). It would have been fantastic to actually load up that directory in Xcode to not have to do a bunch of UUID lookups manually.

It's absolutely a worthwhile request, and I believe people have asked for that as well. I can dupe your request to the existing one. (We like dupes.)

Mikey-San fucked around with this message at 03:09 on Jun 11, 2017

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do

Mikey-San posted:

The way people typically access the test report is through the Report Navigator. It's the rightmost icon at the top of the sidebar. (Cmd-8 in Xcode 8, cmd-9 in Xcode 9. I just noticed the numbering coincidence, heh.) In the Report Navigator, you can click the "Test" entries for your schemes and see the test report. Few people know it's accessible via the test diamond contextual menu so we wanted to show that in the session.

I've only ever used that for trying to navigate through build logs. I had no idea that test information also showed up there!

quote:

In general, feel like you need to have a suggestion to file a bug. "I didn't know XYZ existed" is a valid bug!

I will keep that in mind, and get some radars filed.

There's chatter that I see on Twitter from other iOS developers about Radar being a bit of a black hole and/or Apple employees just not seeming to put forth real effort when responding. On the other hand, I can imagine how inundated y'all end up being with them. I know it's a constant refrain (and not something y'all really have that much control over), but it feels like the system needs some sort of improvement.

Mikey-San
Nov 3, 2005

I'm Edith Head!
(OOPS, I meant to say don't feel like you need to have a suggestion to file a bug. I accidentally'ed the important word there.)

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



Quick Q before I get to mess with it myself: It sounds like the rectangles returned from the text detection in Vision are adjusted for slightly rotated scans. Is that true? Ie you get a "rectangle" that might not be aligned with the "page" but its aligned with the text itself?

Cause that makes my next project a ton easier :D

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do

Mikey-San posted:

(OOPS, I meant to say don't feel like you need to have a suggestion to file a bug. I accidentally'ed the important word there.)

I understood what you meant :)

I've filed radars 32696637 and 32696678 for the "Wait, there's a Test Report?!" and "Can I import Test Reports from CI?" issues. If there are ways I can make them (/future Radars) better, let me know. I know I'm a little flippant about Xcode version, but mostly because I don't actually remember what version of Xcode I was using back when I first noticed it. Or should I just say whatever my current version is?



...I should also note, I really like what's come out of this WWDC on testing. Super thumbs up.

By the way, if you know the people who did the "Engineering for Testability" talk, that one was fantastic, and I hope the community architects things more in that way over time, and I'm glad there's at least some institutional support from within Apple on it. Please let them know that it was great.

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do
Apologies for the double-post.

Mikey-San posted:

We don't currently support controlling applications across devices but that's a request we heard several times. I encourage you to file an enhancement request with details about what kinds of things you'd be doing with it.

I filed a radar at 32696778 for this, with what is hopefully a good enough explanation of the scenario we'd use it for. I realize it's a hard problem...so, Xcode 9.1, right? ;)

Mikey-San posted:

I thought I'd point this one out since it's pretty easily missed. There's even an example in the docs.

Whoa. I saw the feature, and I was like "yeah, but why would I ever want to do that?"; the example in the docs is super useful and has me on board for why I'd need it. Not something that I'd want all that often, but sure as hell useful when it comes up.

Thanks for the awesome stuff!


Edit: Oh! Is it documented anywhere what the bundle IDs for common apps are? I mean, I know it was called out that we might want to fiddle with Settings (oh holy poo poo thank you thank you thank you for this), but where can we find out the bundle IDs for Settings/Messages/etc. so we can take advantage of it?

Axiem fucked around with this message at 03:36 on Jun 11, 2017

FAT32 SHAMER
Aug 16, 2012



Is there a framework in Xcode similar to Android's UIAutomator where you can run unit tests to automate UI testing? I started reading about it a few months ago but then got put on three android projects and it fell out of my mind

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do

funny Star Wars parody posted:

Is there a framework in Xcode similar to Android's UIAutomator where you can run unit tests to automate UI testing? I started reading about it a few months ago but then got put on three android projects and it fell out of my mind

UI Testing, which got a huge update in Xcode 9. The docs are here.

Mikey-San
Nov 3, 2005

I'm Edith Head!

Axiem posted:

I've filed radars 32696637 and 32696678 for the "Wait, there's a Test Report?!" and "Can I import Test Reports from CI?" issues. If there are ways I can make them (/future Radars) better, let me know. I know I'm a little flippant about Xcode version, but mostly because I don't actually remember what version of Xcode I was using back when I first noticed it. Or should I just say whatever my current version is?

Current version is fine when you're asking for an enhancement or UI improvement.

quote:

By the way, if you know the people who did the "Engineering for Testability" talk, that one was fantastic, and I hope the community architects things more in that way over time, and I'm glad there's at least some institutional support from within Apple on it. Please let them know that it was great.

Brian is on my team, actually, and Greg is right down the hall. I'll pass it on. :)

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do

Axiem posted:

Edit: Oh! Is it documented anywhere what the bundle IDs for common apps are? I mean, I know it was called out that we might want to fiddle with Settings (oh holy poo poo thank you thank you thank you for this), but where can we find out the bundle IDs for Settings/Messages/etc. so we can take advantage of it?

Along these lines: can this functionality be used to open up Control Center? Or interact with local notifications? Again in the realm of "tests we have to do manually and would love to automate", but I don't know if the current (expanded) functionality solves the problem.

Mikey-San
Nov 3, 2005

I'm Edith Head!

Axiem posted:

Edit: Oh! Is it documented anywhere what the bundle IDs for common apps are? I mean, I know it was called out that we might want to fiddle with Settings (oh holy poo poo thank you thank you thank you for this), but where can we find out the bundle IDs for Settings/Messages/etc. so we can take advantage of it?

I don't think there's an official list. I got this question a few times in the labs at WWDC, so I'm compiling feedback. On macOS, you can just look at an application's Info.plist file. This isn't so easy on iOS/tvOS devices, though, I realize. Stay tuned?

There's a pretty good list on Stack Overflow:

https://stackoverflow.com/questions/9910366/what-is-the-bundle-identifier-of-apples-default-applications-in-ios

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do

Mikey-San posted:

There's a pretty good list on Stack Overflow:

I think this may have been the list that I stumbled upon when I *ahem* found a way to use the private API to do this sort of thing.

Incidentally, since I'm feeling all Radar happy, I've filed 32696928 for a feature that our QA has grumbled about not having forever that would be nice to have (being able to manipulate date/time in UI tests to test those sorts of things), though I see it as a pie-in-the-sky sort of thing. I'd be shocked if it hasn't been requested before, though.

Mikey-San
Nov 3, 2005

I'm Edith Head!

Axiem posted:

Along these lines: can this functionality be used to open up Control Center? Or interact with local notifications? Again in the realm of "tests we have to do manually and would love to automate", but I don't know if the current (expanded) functionality solves the problem.

Control Center: I think so. I believe you can do a coordinate (XCUICoordinate) drag up from the bottom of the screen (main window bottom edge) and that will pull up Control Center. I can't remember what application owns the Control Center UI off the top of my head, though, so I'm not sure what bundle ID applies to it.

Notifications: Basically the same answer as above.

I'll see if I can put an example together some time this week.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Axiem posted:

By the way, if you know the people who did the "Engineering for Testability" talk, that one was fantastic, and I hope the community architects things more in that way over time, and I'm glad there's at least some institutional support from within Apple on it. Please let them know that it was great.

We do indeed know them (I sit just a few offices down) and will let them know!

Adbot
ADBOT LOVES YOU

Mikey-San
Nov 3, 2005

I'm Edith Head!

Axiem posted:

Incidentally, since I'm feeling all Radar happy, I've filed 32696928 for a feature that our QA has grumbled about not having forever that would be nice to have (being able to manipulate date/time in UI tests to test those sorts of things), though I see it as a pie-in-the-sky sort of thing. I'd be shocked if it hasn't been requested before, though.

It's a pretty reasonable thing to want to do in your test cases. Thanks for the (many) bugs you've written today, by the way.

In the meantime, perhaps you could have a helper method that automated Settings.app to change the time/date in your tests.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply