Post

Replies

Boosts

Views

Activity

Reply to Developing with a team -- how to set up?
You mean in Xcode? Or in App Store Connect? ’cause App Store Connect Help > Add, Edit, and delete users > Add and edit users is pretty clear that individual teams can’t add extra developers. It wasn't clear to me, and it hasn't been clear to people I've asked, so much so that I have filed a TSI. They’re working on the Mac, where this requirement isn’t so tightly enforced. I'm working on a Mac, and this seems pretty tightly enforced. Maybe I picked the wrong model for the app when generating the profile.
Sep ’21
Reply to Developing with a team -- how to set up?
I disagree. Apple platforms track apps by their bundle ID. Apps from different teams are by definition different, and thus they have to have a different bundle ID. I am trying to figure out how to set up a team. That's in the question, it really is. You mean in Xcode? Or in App Store Connect? ’cause App Store Connect Help > Add, Edit, and delete users > Add and edit users is pretty clear that individual teams can’t add extra developers. That is correct. It says: All users receive access only to App Store Connect and are not considered part of your team in the Apple Developer Program. So how do I add members to my team in the Apple Developer Program? (Also, a bit related: how do I remove an app from the App Store Connect? Since I was told to try doing that, and now there's an app I'd like to remove. 😄) Requiring people to change project when working on a project together means that every single commit has to be checked, and possibly at least partially un-done. This doesn't scale, and I am in fact pretty sure that distributed teams don't do that. Again: if the answer is "well clearly everyone sets up an organization account," I have to again ask "And how do open-source projects do this? Most aren't going to be able to get a DUNS number." But, you know, I would be happy to accept that (I then have to get my group to do that, and it is a pretty significant burden) -- but the documentation needs to be updated. So how do I do this? It is clearly done. I'm assuming it's such a basic, obvious thing I did wrong that it hasn't occurred to anyone.
Sep ’21
Reply to Developing with a team -- how to set up?
Ok, so this is mostly solved now! I did in fact need an organizational account, which involved some hoops to jump through. I want to point out that dev support people have been remarkably helpful and patient. I've now got people invited to the team, and building seems to be normally. However, it seems that it is simply not possible to fix the "I accidentally and ignorantly added an app to App Store Connect that will never, ever, every be sent for approval and now that bundle ID is forever taken." I guess most developers don't make the mistakes I do. blush
Sep ’21
Reply to Network system extensions locations
Ha ha, sorry, I was not clear: I can have a LaunchDaemon, that would normally be installed as part of the app, installed via MDM stuff, and, completely separately, the app could be installed via the same mechanism to /Applications and would not need to be run a first time to install the daemon. The answer to that sounds like a confident yes, which pleases me.
Sep ’21
Reply to Can I get the current active user information (for macOS)?
Oooh! CSIdentityQueryCreateForCurrentUser looks like it, maybe? I will experiment! Thank you! 😄 Edited to Add Yes, that worked! My code here is really ugly, but it does seem to work. So thank you very much! { CSIdentityQueryRef query; CFErrorRef error; CFArrayRef identityArray; // create the identity query based on name query = CSIdentityQueryCreateForCurrentUser(kCFAllocatorDefault);   // execute the query if (CSIdentityQueryExecute(query, kCSIdentityQueryGenerateUpdateEvents, &error)) { printf("Success!\n"); // retrieve the results of the identity query identityArray = CSIdentityQueryCopyResults(query); printf("Got %lu entries in the array\n", CFArrayGetCount(identityArray)); for (size_t indx = 0; indx < CFArrayGetCount(identityArray); indx++) { CSIdentityRef identity = (CSIdentityRef)CFArrayGetValueAtIndex(identityArray, indx); CFStringRef name = CSIdentityGetPosixName(identity); const size_t maxSize = 1024; char *buffer = (char *)malloc(maxSize); if (CFStringGetCString(name, buffer, maxSize,       kCFStringEncodingUTF8)) { printf("Current user = %s\n", buffer); } else { printf("Could not get user string?\n"); } } // do something with identityArray //     return (CSIdentityRef)CFArrayGetValueAtIndex(users, 0);     } CFRelease(query); }
Topic: App & System Services SubTopic: Core OS Tags:
Oct ’21