#development
1 messages Β· Page 114 of 1

@radiant idol @visual meadow do you guys wanna give feedback on some new fiorewareβ’οΈ
uh oh
yea
he got the touch of the tism
wow its almost like your trying to just make things work on systems they were not made to work on
I have a tweak that just works on like every iOS version I've tried
no its not that, your prefs are the thing thats broken
TimeJump
%hook SBFLockScreenDateView
-(void)setDate:(NSDate *)date {
if(enabled) {
NSDate *newDate = [NSDate dateWithTimeInterval:60*offset sinceDate:date];
%orig(newDate);
} else {
%orig;
}
}
%end%```
yeah but it works on at least 10 iOS versions
lets play 8ball!
fake news
can we get some real news around here?
just use rootless tweaks on rootless archs
I recompiled it

ctrl + f / and see if theres soemthing that sound be patchesd
i made cheats for gamepigeon, you dont wanna play with me
maybe I do
i made most of it without your help
gameseagull on top
π£οΈπ£οΈπ£οΈ
now ios 18 gameseagull eta
@placid kraken can you test some fiorewareβ’οΈ
I would test but I don't think I brought my iPad
slander and fake
shutup

evil procursus be like
evil procursus
wait
I deeply apologize capt
i was wrong
unfortunately it works
the tweak itself doesnt work but the prefs do work
smh
im not gonna ping him because i dont want him to get the satisfaction of being right
@grave sparrow
oh lol
is bash stored in /var/jb/bin/bash?
yes but look at the paths below lmfao
/var/mobile/var/jb/Library/Application var/jb/Support/Hazmat β
Application var, my favourite dir
this shouldnt matter
libiosexec handles the shebangs
something bad here
true
exactly my point
I should define paths as whatever the objc version of ['', 'var', 'mobile'].join('/') so your patcher doesn't work
you are horrible

whats the point of even patching binaries?
wym
like the chances of somethong not working is super high
wellllll
and if its open source you can just recompile it
if its not and its not being updated, your probably shit out of luck
there's another patcher that uses *cough* symlinks *cough* and it works for most tweaks
I guess it could be fun just to test if things work
(e.g. /Library becomes /var/LIY etc)
/User
uh
wait thats a good point
what would that become
I dont think they handle that lmfao
webshade trolling patchers
listen if for some insane reason you must have webshade on rootless, just compile it yourslef
real
/////////X/Apps
dont remind me
also its actually
//////XApps
get with the times smh
//////TwitterApps
x apps
new elon appstore
we should just chainload a new kernal and use that to boot a new partion which is fully rw
oh thats why
I see
should consider \ as not a seperator
but how do i do that
idk use a regex?
i have the space there because orion has a piece of artwork there
with a bunch of spaces
/(?<!\\)[ \n!#]/g
idk how to regex in objc
accounts for any \ before any of the characters
Won't work for shell scripts that work like sh rm -rf "/Library/Application Support/dir"
you could add different behaviour for shell scripts
and look for quotes
but in a whole binary, looking for quotes might be too slow
binary stuff is handled already
thanks to staturnz
true
speaking of different arches wheats the difference between roothide and rootless
is it just the root path
just compile it from source
what should i modify here so that code like yours doesnt break
closed source old tweaks that still work:
- Emerald
- Minotaur
- dotto+
- may i list more
manually patch them or leave them to die
HAven't heard of any of those
theres no way
also if they still work they are probably pretty simple so just reemake it
but for the end user
meh who cares about the end user
Emerald: https://havoc.app/package/emerald
404 page
wow just use the ios notifcaiton center
Emerald
dotto+: https://repo.dynastic.co/dotto
dotto+ DESIGNED BY MIRAC β’ DEVELOPED BY CONOR With dotto+ your notification badges are replaced with minimalistic, unintrusive little dots. Customize your dots by choosing between one of 11 hand picked colors or choose your own custom color with the color picker! New in iOS 14: dotto+ now uses the...
how manyh tweaks have worked now?
Webshade doesn't
orion and its 57 dylibs
thats an oldabi issue, i cant really fix that
but why does it work when patched with symlinks though
im curious
you could compile the tweak from soruce like a normal person
no
idk that tweak is just an edge case that not worth digging into
π€
old tweaks
Minimum supported version is iOS 13
thats old by today's standards
you're just trying to annoy me at this point
nah
:(
iOS 7 is for sure old
ios 12 and below is legacy ngl
statur
isn't iOS 12 the version like every iPhone supports
I request a little bit of logic help because i suck at objc
this is the thing that patches binary files
but uh
it has a stroke with paths that have a space
what to do
regex
I refuse
ok
#!/bin/bash
su mobile -c 'mkdir -p /var/mobile/Library/Application\ Support/Hazmat'
cp -r /Library/Application\ Support/Hazmat/* /var/mobile/Library/Application\ Support/Hazmat
exit 0
specifgically quotes with spaces
ok there
technically theres some jank bash stuff you can do this might screw up with but its rare enough you don't need to worry
actually
I can see an issue with this
we're talking about the iOS jailbreak community
if you use quotes to have a ' in a path
"jank"applies everywhere
cursed
it will mess up on that
no
aw
I will give you this though /(?:(?<=["'])\/.*?(?=['"])|\/.*?(?<!\\)[ \n'"])/g replace string /var/jb$0
refusing regex for a script?
what else would you use
look up
look down

oh
wait maybe I can fix this case
NSOOP
i see what you're saying
NSArray *strings = [controlScriptContents componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" \n!#"]];
but it cant recognize it if there are spaces in paths
but honestly i always think of using regex when you need more advanced string manipulation
so thats annoying
yes yes but that doesnt matter rn
the original Orion did usr/bin/chmod
so i just prepended var/jb/ to it
/(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|\/.*?(?<!\\)[ \n'"])/g
if it works it works
Tf is bro cooking
regex
he's on some regex
What are you doing with regex
@cloud yacht

Thatβs cursed
any idea why NSBundle hook isnt working?
100% true
yes it did @cloud yacht
+ (NSString *)pathForResource:(NSString *)name ofType:(NSString *)ext {
NSLog(@"test 1\n");
if ([name isEqualToString:@"ping"] && [ext isEqualToString:@"caf"]) {
NSLog(@"test2\n");
return @"/path/to/new/ping.caf";
}
return %orig;
}```
nothing prints
#!/bin/sh
usr/bin/chmod 4775 /usr/bin/orion_mobileldrestart
usr/bin/chmod 4775 /usr/bin/orion_rebootuserspace
usr/bin/chmod 4775 /usr/bin/orion_cpuinfo
usr/bin/uicache --path /Applications/OrionApp.app
echo " "
echo " @ββ@-_ "
echo " '@_ "
echo " / '@_ "
echo " @ /' '@ "
echo " \ /' @ "
echo "@ \ @ββββ@ "
echo " '\ @ / '\ "
echo " '@__ / '\ "
echo " 'ββ@ββ@_ @βββ.___ "
echo " 'ββ.__ @ 'βββ@"
echo " 'ββ@ / "
echo " 'β_ /' "
echo " 'β_ /' "
echo " '@ "
echo " "
echo " Thank you for installing Orion! "
echo " "
exit 0
idk what to do
your're doing somthing wrong
What are you trying to achieve ?
change path in companionfindlocallyd
Regex cooking
not my code
(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\\)[ \n'"])
im tryina patch the postinst
fixed it
and failing miserably
regex is mid anyways
check the artwork
fr
the artwork can burn in a hole
fix it
Tf is companionfindlocallyd
the thing that handles watch ping
idk why they didnt do it in springboard
honestly if you can't do it with one expression
use two seperate ones
imo
no
wait do you have logic for which paths should or shouldn't be choosen?
any idea bru
yes
with a bit of code I could jsut get the path and you could chose to replace it
Even the 1 at the start ?
what sort of regex does objc have that doesn't have \w?
i dont know
i refuse to use regex if i dont have to
did you forget to escape backslashes
^
true
all of them
Are you sure the daemon is up and running ? @visual meadow
\w is processed by regex
its a sequene for regex
i guess \n doesn't need to be double escaped
Error creating regex: Error Domain=NSCocoaErrorDomain Code=2048 "The value β(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\)[
'"])β is invalid." UserInfo={NSInvalidValue=(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\)[
'"])}
uhhh
Yes
it is
and it is being injected
Again what is the point of this mess ?
probably missed something wait
matching strings
NFMPlayCommands hook does work
i just
dont know how to change the path in that lol
add /var/jb to paths account for ones with escaped spaces as well as in quotes (and quotes the are mixed and matched)
Yeah I know but I donβt speak regex or at least not enough to understand the entirety of this mess
there's sites to explain it for you
lol
Fr
e
Error creating regex: Error Domain=NSCocoaErrorDomain Code=2048 "The value β(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\)[ \n'"])β is invalid." UserInfo={NSInvalidValue=(?:(?<=["'])\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\w])\/.*?(?<!\)[ \n'"])}
What path do you need to edit ?
what a useful error message
you might need to escape the "
i did
Yes
or your regex doesn't support a feature I'm using
framework
I feel like I escaped everything
let me read the docs real quick
What did bro do ?
typical capt
wait does "(?:(?<=[\\"'])\\\\/.*?[^'\\"](?=['\\"](?:[^'\\"]|$))|(?=[^\\\\w])\\\\/.*?(?<!\\\\\\\\)[ '\\"])" work?
oh my goodness
+(id)pathForResource:(id)arg0 ofType:(id)arg1 inDirectory:(id)arg2 ; thatβs from dumped headers on iOS 16.0 maybe try to add the 2 args idk
\\\\\\\\
wait why is there so many there
ok uhh
this regex got out of hand
(?:(?<=["'])\\/.*?[^'"](?=['"](?:[^'"]|$))|(?=[^\\w])\\/.*?(?<!\\\\)[ '"])
sorry I think I accidenly double escaped it
WTF
What's your replace string?
π
Show code
Ok I'm on phone gimme a sec I'm 90% sure your doing replace wrong
But honestly you might be better off writing a bash lexer
nooooo
is there genuinely no way to do this simply
ok maybe regex may be a good solution
@radiant idol do this but instead of empty string do /var/jb$0 https://stackoverflow.com/questions/9661690/use-regular-expression-to-find-replace-substring-in-nsstring
Ok but if your using regex use it properly
thank @indigo peak for hook and thank me for preference π
Make it a Rick roll
thank @indigo peak for hook and thank me for preference π
thank @fiore for hook and thank me for preference π
thank @fiore for hook and thank me
thank @fiore for hook and thank me for preference π
so what's the %hook

can I do this for .caml files
Use this for caml
Similar to thos
This
For springboard at least
ok so i have to hook whatever provides cc modules
FYI: someone else made this tweak already - it's just private
I can get you in contact with him but no guarantees lol
im not trying to replace it w lottie 
its what uhh [[plampycc]] does i think
thats gonna take a while
i have camls already i just want to use my own without having to resort to crappy tools like misa**
what background should i use i cant decide 
imo the first one fits the app name better
yeah 1
1
1st but make the top by the status bar lighter
so the status bar doesnt look funny
why is only the log black 
looks weird
it do
I like the second one but it does seem kinda tauriney
the first, but add a secret button to switch to the second
wow iOS 10 can have nice designs
need,,,
objc uikit π€
objc uikit π€
objc uikit π€
real
oh hey my gif
When I was a kid I thought he was the entire state of Alabama
If the same method is hooked twice by two different tweaks, who gets first dibs?
whichever hooks it first
assuming each tweak hooks the method straight away upon loading, it'll be whichever is injected first
tweak dylibs are injected in alphabetical order
which is why you sometimes see tweaks like choicy are prefixed with a space
so they get priority when determining order
Thanks

nexune
is this why hestia has an exclamation mark

And somewhat broken lol
why does theos want me to get a full xcode install
it compiles and runs fine with just xcode clt
maybe my tweaks just arent complex enough to need the full capibilities of xcode
lol
Sdks
Here comes kirb to inform me that my reply is wrong 
nah I just had a message from yesterday I forgot to send and I was trying to find the thread lmao
(I gave up)
Tro
I do have opinions on this insane regex though omg
I feel like it could be something like (^|\s|['"])/(Applications|Library|etc|usr|var) because like, the path prefixes are known and predictable
after manually replacing /private/(etc|var) to just /$1, and /User to /var/mobile
nobody should be using that /User symlink anyway
We donβt know for sure though
The blacklist is evergrowing
Apple uses whitelist and thus blacklist
π€«
fr
Java !!!
Capt face reveal
I want to port some Linux code to bootstrapped iOS 16.6, and Iβve been trying to work out how to do it but everything seems to tell me different and slightly contradictory things
Is there a guide or anything that anyone with experience knows is actually good and works? I want to use either the iOS device or Arch to develop
I do have an OSX VM but itβs not very stable and itβs very slow so itβs a last resort
@hasty ruin
Chat hes ugly
Are you using Qemu + kvm
Yeah
I donβt have a graphics card that will let me do passthrough though
poor thing
On my way.
Oh god Java hater detected
I dont like it either lol
Yβall never got to test the true beauty of java π
yeah because i canβt fit it on my screen
For you sanity you should avoid adding 10000 chars func to java
did you know those big ass samsung odyssey ultrawide monitors were made by java devs so that they could fit 1/4th of their class names on their display
This is an invalid argument most of my Java shit aint over 20-25 chars
Average is 10
fr
@shrewd smelt new material for yourself
so i have this hook:
- (UIContextMenuConfiguration *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configurationForMenuAtLocation:(CGPoint)location {
UIContextMenuConfiguration* config = %orig;
UIContextMenuActionProvider actionProvider = config.actionProvider;
config.actionProvider = ^UIMenu *(NSArray<UIMenuElement *> *suggestedActions) {
UIMenu *menu = actionProvider(suggestedActions);
NSMutableArray *actions = [menu.children mutableCopy];
[actions insertObject:lockAction atIndex:actions.count - 1];
return [menu menuByReplacingChildren:actions];
};
return config;
}
``` and the custom `lockAction` gets inserted in its own section like this:
how would i make it so the lockAction gets inserted with all the other actions and not in its own section
Tbh I think it looks better like that
fr
Because it separates stock actions from custom ones
no idea try this
- (UIContextMenuConfiguration *)contextMenuInteraction:(UIContextMenuInteraction *)interaction configurationForMenuAtLocation:(CGPoint)location {
UIContextMenuConfiguration* config = %orig;
UIContextMenuActionProvider actionProvider = config.actionProvider;
config.actionProvider = ^UIMenu *(NSArray<UIMenuElement *> *suggestedActions) {
NSMutableArray *actions = [suggestedActions mutableCopy];
[actions insertObject:lockAction atIndex:actions.count - 1];
return actionProvider(actions);
};
return config;
}```
is there a way to disable the notification center swipedown
i have a UIWindow on top of the home screen but the swipedown still works
which is annoying
smae
my java class is over and now im onto c
im so happy
Seriously?
Yes
I thought it would be better to be with everything else
yeah it look nice
Like to be more seamless
bug turned feature fr
Less work for me I guess
The nightwind way
Fr
Why is this the first thing I see

fr unironically looks better separated
alr guess im keeping it
@ashen birch @hasty ruin @primal perch @radiant idol would it look better if it said "Lock Chat" or "Lock"
lock chat 100%
lock chat but maybe chat not capitalized
Lock Conversation 
because following the iMessage naming convention, it should be "Lock" because "Pin"
but following the Notes naming convention (where i got the idea for the tweak from) it should be "Lock Chat" because "Pin Note"

its gonna be that instead of chat
Converzation
Real
this for imsg?
they do it like titles where basic words are lowercase like "and" or "the"
yeah so if i were to make it Lock Conversation it would be double capitalized
yuh
yuh
yuh
yuh
yuh
well some of its good
the other some is not
this is a legit hook that i have
%hook CKConversation
%property (nonatomic, assign) bool was3DTouched;
%end
like why

You ever write code and think like βIβm the first mf to ever do thisβ
all the time 
- (bool)becomeFirstResponder {
if (self.shouldBlock) return NO;
return %orig;
}
Couple weeks ago I had to catch an exception, parse the error message to get a class name, then re-run the function with that string as a parameter

i think that and then i look at github and opa for some reason beat me to it

crazeware
β
no this is privateware
yes (all of my python projects)
i just gotta slap βin pythonβ to the end of im the first one to do x
LMAO
no fucking way bro
Lock Chat
Or actually
Lock Conversation is better yeah
Restrict Access to Message Conversation
Actual top right
Iβm a little dyslexic lmfao
I meant left
but thatβs where incoming messages go
worlds most cursed NSString to C string
NSString *joe = @"joe";
printf("fr: %s\n", (const char*)(*(uint64_t*)((uint64_t)joe+0x10)));
find god
whats a more standardised way to hide/show a group of cells based on whether a key is enabled or disabled
(instead of overriding setPreferenceValue, checking if the key is the one you want, check if the value is true or false, and hide the cells accordingly, because i think that would work but its quite bad there has to be a more streamline way surely)
what about C string to NSString
NSLog(@"fr: %@", (NSString *)((void *)(uint64_t *[]){(uint64_t)NSClassFromString(@"__NSCFConstantString"),0x7c8,"joe",3}));
dude.
next to name
NSClassFromString() and @β__NSCFConstantStringβ are cheating
what is bro doing
that is so cursed
best i can do
NSLog(@"fr: %@", (NSString *)((void *)(uint64_t *[]){(uint64_t)objc_getClass("__NSCFConstantString"),0x7c8,"joe",3}));
objc_getClass seems like cheating too
hear me out
nvm
how do i make a dropdown pref
do i need to make a custom cell
i couldnt find it in any docs
idk
whatβs your end goal @placid kraken
well ofc it is
@indigo peak
but you'd have to implement it yourself
everything is possible if you beloeve
ok @placid kraken make a toggle at the bottom of all the prefs, for advanced mode
and then if its enabled
you show the advanced settings
just make it a link cell

and advanced settings override the basic
actually
yea well i can do it like that but using a toggle cell feels cheap
horizontal?
the segment cell?
i could use that tbh
yea
that
however a dropdown would be much sleeker imo
like
the native dropdown
from (im assuming) ios 14+?
wheree does that occur
lemme find 1 sec
yeah it makes sense to just use this
then just make more/different prefs appear depending on what's chosen
yea lol i wanna essentially make that but i want a dropdown instead of a segmented control
@placid kraken whats gonna be actually in the drop down
dropdown does not really fit with ios ux
^
Simple and Advanced
its a native component they use it in multiple places
name one
whats the point of a dropdown for 2 options π
name one that's not safari
and thats not ipads
or make something like this
If you really don't want the segment you could also use this
thats a popover
popopver
it only makes sense for menus
as a UIControlView
real
@placid kraken just use segment or a toggle
no need for that
at all
if its only 2 options
I have it in Bolders Reborn @placid kraken
what if i wanna add a third one
stop enabling them
ok looking tyy
for a filter, it is clean
what would the third option be
you have basic and advanced
whats the third option
π
segment isn't limited to two π
stock
i know!!!!!
segment only looks good for 3-4 or less
anything more
booty
but thats not a filter
i mean, depends on how long the option names are
true
@placid kraken take a look at my - (void)initTopMenu; in BoldersRebornListControllers.mm
no
its technically filtering cells but sure
if its set to Simple/Basic itll show 2 color picker cells if its set to Advanced itll hide those cells and show the PSLinkCells
Webshade even uses segment for bascially this exact situation https://cdn.discordapp.com/attachments/718406429526065222/951778494415773716/IMG_5688.png
ok but however,
yeah but they are usable
mine are also very usable
mine are
the popover requires 2 clicks to work
i hope
well you're fiore
it's a complicated tweak with simple settings
great observation
yeah
anyways do yall know how the notification center swipedown is implemented
i need to disable it
with code
nightwind do you know if lgu allows for passing a system icon to trailing of a cell if you use a HBListController instead of a PSListController

i tried it earlier but it didnt seem to work
lgu
but that mightve been me defining the actual property wrong
HBListController should be a subclass
it is
i'd look but it's going to be at least an hour before i'll be able to use my iphone
should work
probably
im inheriting it in my list controller which sets the specifiers
woe
basically trying to fix this
(it's at home)
ok then i must be doing it wrong
NSDictionary *iconDictionary = @{
@"name": @"paintpalette.fill",
@"scale": @"small"
};
[specifier setProperty:[GcColorPickerCell class] forKey:@"cellClass"];
[specifier setProperty:hexColor forKey:@"fallback"];
[specifier setProperty:@1 forKey:@"style"];
[specifier setProperty:parsedName forKey:@"label"];
[specifier setProperty:BUNDLE_ID forKey:@"defaults"];
[specifier setProperty:iconDictionary forKey:@"iconImageSystem"];
[specifier setProperty:name forKey:@"key"];
My tweaks aren't fancy because 90% of the defintion of them is reading plist
skill issue
@hollow laurel get your butt here
help rosie
Guac
no way its the libgcuniversal guy
until the names get cut off
call it a segmentation fault 
i love when serotonin makes my phone just not be able to be turned on
i don't think you're supposed to pass a dict to that
in the plist way you do
it works for the cells that i define in a plist
but these specifiers are dynamic so i cant
well yes because that's a plist
thennn do i pass a UIColor to it?
why would you pass a UIColor
UIImage*
someone should make some library that makes settings plists like a simple json that does a bucnh of the stuff you need to share like notifcation path and whatnot simply
its already simple enough
@faint stag here is issue
it is not
you can already format preferences in json
im just doing stuff thats more advanced than your typical tweak prefs lol
arguably i could just leave it like this but idk
can you?
can PSListController load from json too then?
its not 1 to 1 json
that is not json 
but its better than xml
closer to json than xml
that is old-style plist
still better than xml
it is specifically called old-style plist
oh bruh thats much better
more like yaml lol
have fun determing when to use quotes or not
dont bring react into this
swithces to xml. Doesn't even use xml properties
?????????
when the openstep plist
the 3rd type
idk ive enver used anything with yaml before
i assume its react π
openstep plist should rightly be killed
no???
looks nothing like yaml wtf
iirc yaml is a superset of json
yes
plistutil -f my beloved
i love plutil
I used some slow anchient looking chinese website to convert from json to xml and back for webshade iirc
you guys hate xml that much???
xml is fine but plist xml is so bad
..whats the difference
this just looks like .ini
How can I like make the MTMaterial view like refresh?
plists don't actually use xml properly and its just super verbose <key>key</key><value>value</value> when they could easily use xml props
is there like some method anyone knows to call ?
ok tbh i dont like that either
however
would you rather write it like that
- (PSSpecifier *)generateSpecifierWithName:(NSString *)name parsedName:(NSString *)parsedName hexColor:(NSString *)hexColor {
PSSpecifier *specifier = [PSSpecifier preferenceSpecifierNamed:parsedName
target:self
set:@selector(setPreferenceValue:specifier:)
get:@selector(readPreferenceValue:)
detail:nil
cell:PSLinkCell
edit:nil];
NSDictionary *iconDictionary = @{
@"name": @"paintpalette.fill",
@"scale": @"small"
};
[specifier setProperty:[GcColorPickerCell class] forKey:@"cellClass"];
[specifier setProperty:hexColor forKey:@"fallback"];
[specifier setProperty:@1 forKey:@"style"];
[specifier setProperty:parsedName forKey:@"label"];
[specifier setProperty:BUNDLE_ID forKey:@"defaults"];
[specifier setProperty:iconDictionary forKey:@"iconImageSystem"];
[specifier setProperty:name forKey:@"key"];
return specifier;
}
``` or define it with code
lmfao
honeslty the code doesn't seem that bad, but then its like I have a massive chunk of data in my code when it makes sense to use some kind of format designed for storing data
doesnt seem that bad but this is ONE specifier
toml on top
@hasty ruin ?
call layoutSubviews or smth
wait could I use some objc method to read the json and just pass that to the preference thing>
tried that
nsjsonserialization
didnt work
have fun
you probably can yes
nsjson
exists
however
you cant guarantee compatibility
use frida, filter through MTMaterialView, see what gets called when you did the refresh in teh video
+ (id) parseJSON:(NSData*)data {
NSError *error = nil;
id object = [NSJSONSerialization
JSONObjectWithData:data
options:0
error:&error
];
if (error) {
@throw error;
}
return object;
}
no that's not an excuse
frida? and it requires a mac?
you can use it on windows
frida can be used on linux
@radiant idol @indigo peak look at this
oh i saw
I'd use @throw
i pretended i didnt see
why not
you never use throw
π€―
even apple says not to use throw
why
average RN dev
I mean I dont even do exceptions much but still
Apple also says to use swift so idk how much I trust then
thsi - https://frida.re/docs/ios/ ?
Observe and reprogram running programs on Windows, macOS, GNU/Linux, iOS, watchOS, tvOS, Android, FreeBSD, and QNX
whats wrong with @throw
wtf do you do instead
if (error) NSLog(@"oh no i failed: %@", error);
```?
do you return a placeholder value?
what do you do in the case of an exception
NSError
it fucks with ARC, among other things
i need to find the page
@hasty ruin @grave sparrow gm
if its so bad why is it in the language
its like goto
if it sucks so much why does it exist
probably legacy reasonsβ’οΈ
usually to not break legacy shit yeah
is there a frida rootless?
thats why windows is.... windows
no warning or anything i guess
it worked fine for me with meowbrek
exceptions are basically for unrecoverable stuff
all i know is that @throw gives an NSException * that you need to handle in @catch lol
in objc
i mean obv u cant write to /System or some shit but i was able to debug some processes
i hate that meowbrek is actually good
furry ass name
cope
its just like every language that has error handling lol
go
you throw an exception and catch it in your impl
tbh go's way of doing it is even better
because youre forced to handle all exceptions
as much as you have a million if (err != nil)
js erorr handling is annoying
no whats annoying is that in js you arent told a function can throw
only if its a promise
try {
smth()
} catch (e) {
console.log('Lol error');
}
A function can return or throw
yes but you arent told
anything can throw an error just expect it to
for example in swift you can annotate with throws Erroror whatever idk the syntax
@old geyser
I mean ts has erorrs iirc
ts is only for static checking to make sure your types are correct
it cant protect against exceptions thrown by a promise or something like that
in js/ts you arent ever told that you need to handle an exception until you actually get the exception or the docs say the function can throw
its annoying
LMAO
LAJBDKWJABDAW
I CANT WITH THIS
@indigo peak what do i do on frida so see what methods r called. installed it on my phone and pip installed it on my pc
im confused on what i do to like get everything conected
nvm
is it a bad idea to use lightning to USBc ?
@radiant idol this thing you sent me is actually also useful for making a respring button on the top right when in subpages to select colors
lifesaver tysm
now what do i do to find the method, everyting is like conected
np!
show me how it looks once you get it working :)
sureee
@radiant idol ?
what
