If I attempt to use the NotoryTool to save my creds, I get this
xcrun notarytool store-credentials 'NOTORIZE.NOTORIZE' --apple-id 'rdavids3@cox.net' --team-id '25DYXXXXXF' --password 'xxx-xxx-xxx-xxx'
This process stores your credentials securely in the Keychain. You reference these credentials later using a profile name.
Validating your credentials...
Error: HTTP status code: 403. A required agreement is missing or has expired. This request requires an in-effect agreement that has not been signed or has expired. Ensure your team has signed the necessary legal agreements and that they are not expired.
No idea what it thinks is “expired”… all dates in AppleConnect are 2025 or later
xcrun notarytool store-credentials 'NOTORIZE.com' --apple-id 'rdavids3@cox.net' --team-id '25DXXXXX' --password xxxx-xxxx-xxxx-xxxx'
This process stores your credentials securely in the Keychain. You reference these credentials later using a profile name.
Validating your credentials...
Success. Credentials validated.
Credentials saved to Keychain.
To use them, specify `--keychain-profile "NOTORIZE.com"`
however, contrary to everything any AI has told me, I cannot find a way to verify that a given profile exists.
my app needs to verify it exists, and if not then create it
because a generative AI is just a fancy next word is generator, apple’s documentation is overcomplicated, and apple’s implementation is subpar.
If trying to train an LLM/Gen-AI on their documentation, stuffs gonna be wrong.
security find-identity -v
This is what i mean by their implementation sucks: the process gets you used to xcrun over and over and over again, and then seemingly randomly uses a different tool. Would it hurt to just stick a wrapper in for consistency? Or to at least include a mention of the security command in the documentation?
yes I am sure that the standard Swift langauge does not contain a function that uses the InStr syntax… What you posted was the same functionality, but not the same syntax.
and the reason is quite simple actually… I could do it one of 3 ways
duplicate verbose Swift code at every place where the function was needed
create a function and duplicate it in every application I wrote
create a function, in a linkable framework (which is what I did)
FYI… this is the amount of code required (maybe less today, as this was written years ago)
public func InStr(_ lookfor:String,_ checkcase:Bool=false) -> Int {
var self_test:String=self
var othr_test:String=lookfor
if !checkcase {
self_test=self_test.uppercased()
othr_test=othr_test.uppercased()
}
let myRange: NSRange = (self_test as NSString).range(of: othr_test)
var loc:Int=myRange.location
if (loc<0) || (loc>self_test.count) {
loc=0
} else {
loc+=1
}
return loc
}
oh and as to the “years ago”… should I decide to update this code, I only have to do it one place on my entire system…
I mean, i’ve done stuff like wrappered functions before to suit my taste, which isn’t far from your InStr conceptually.
but, if swift has string.contains, and also contains string.uppercased or .lowercased, why not just have your InStr wrap string.lowercased.contains(lookfor.lowercased) (or the swift equivalent, I don’t use swift)?
It just seems like the InStr function could be maybe 3 lines of code instead?