#development

1 messages · Page 603 of 1

zenith hatch
#

okie

#

@gentle crescent worked for me

#

fuck forgot to save

#

its 30mb wtf

#

@gentle crescent I DID IT

#

the final gif

tepid olive
#

why they do that

gentle grove
wide gyro
#

Hi Everyone! I am currently working on Cylinder Remade and I was wondering if there are any developers who want to code their own effects, just as there were developers for the original tweak. Animations are all written in Swift (though technically Objective-C is possible) and there are currently 15 animations that can be used as a guide: https://github.com/ryannair05/Cylinder-Remade/blob/master/tweak/CylinderAnimator.swift

All pull requests are appreciated and each animation gets credited right in the tweak

GitHub

A fully rewritten Cylinder for iOS 14 and above. Contribute to ryannair05/Cylinder-Remade development by creating an account on GitHub.

nimble parcel
#

it’d be cool if effects could be made as separate dylibs rather than having to be integrated into the tweak itself

#

esp if someone could just drop a .swift file into some folder and it’d compile it into an effect for you

wide gyro
# nimble parcel it’d be cool if effects could be made as separate dylibs rather than having to b...

I did want to do this, but I couldn’t think of a feasible solution to make that work. With the right hooks making an extension for it as a MobileSubstrate dylib is possible, of course, but otherwise I don’t know how it would be done, because effect names and selectors also need to be known if there preferences view: https://github.com/ryannair05/Cylinder-Remade/blob/27fd3e973c38c3f67f906c3acb6e8cd84cf1d388/settings/CLEffectsController.m#L64

GitHub

A fully rewritten Cylinder for iOS 14 and above. Contribute to ryannair05/Cylinder-Remade development by creating an account on GitHub.

wide gyro
nimble parcel
nimble parcel
#

ofc that’d require an entire toolchain so it could be an optional add-on package

#

and this is why the original used Lua ahahaha

restive ether
#

lua on top fr fr

#

inshallah praise xmake

wide gyro
nimble parcel
restive ether
nimble parcel
wide gyro
#

I do plan to keep developing the Lua version, but I really don't think there will be interest for it

nimble parcel
#

it’s open source and I can give you pointers on integrating it

#

JS for effects seems like a good idea

restive ether
#

we stan kabir and all his under appreciated projects

wide gyro
# nimble parcel JS for effects seems like a good idea

Cylinder seems to really benefit from the advantages of complied languages which is why I'm doing this in the first place. Cylinder animations get called up to 60, 120 on ProMotion, times a second with it having inner loops that can run up to 24 times. The efficiency that JS or any interpreted language simply can't offer makes the tweak work a lot better overall

nimble parcel
#

makes sense, swift is probably your best bet then

#

consider going all out and using closures + structs instead of classes with objc dispatch

#

or an Effect protocol maybe

#
protocol Effect {
  var name: String { get }
  var developer: String { get }
  func apply(to view: UIView, offset: Double)
}
#

each dylib can provide an array of effects

#

pro tip: if you create a type with the @main attribute and a static func main() Swift adds a C-compatible int main(void) function to the dylib. This won’t automatically be invoked as an entrypoint but your tweak’s code can look it up and call it with dlsym

#

now, the real powerful aspect of this is that the aforementioned main function can be provided by an extension. This means you can do something like

public protocol EffectsProvider {
  var effects: [Effect] { get }
  init()
}

public private(set) var allEffectsProviders: [EffectsProvider] = []

extension EffectsProvider {
  public static func main() {
    allEffectsProviders.append(Self())
  }
}

and then in user code:

@main struct MyEffectsProvider: EffectsProvider {
  let effects: [Effect] = …
}
#

when your tweak then dlopen’s the user dylib, it’ll automatically append the effects provider to allEffectsProvider

nimble parcel
#

have you seen libffi? it’s pretty similar

#

too late that’s basically what every single language bridge does courtesy of libffi

#

nah it uses hand rolled assembly

#

you have to give it the function signature

#

not necessary

#

you can do that manually

#

nah

#

you have to give it the signature

#

explicitly

#

not a string repr

#

like, you pass it an array of ffi_type

#

there’s no standard name mangling

#

that’s why it can’t just use that

#

depends on the compiler, environment, and language

#

don’t think libffi supports it yet actually

#

it supports java, [obj]c[++], and i think go

prisma grove
#

well seeing as you're doing dispatch, maximum performance is totally needed

ocean raptor
#

anyone got iOS 13?

prisma grove
#

Either way, you should and release a tweak that rewrites objc_msgSend making it faster than all the engineers at Apple can which I totally believe you can do

#

Seriously though, there would be a drastic performance increase from even making it one instruction faster

#

I believe the A15 has an objc_msgSend branch predictor which is cool

#

yeah I know, it's handcoded assembly for a reason, but it would be fun if there was a way

lime pivot
#

@nimble parcel sup red tinted kabir

nimble parcel
#

@lime pivot hi flame repo kirb

vivid dew
tepid olive
#

Why

wide gyro
#

@nimble parcel This is all really cool advice and information, thank you. I was wondering though how saving the position to the CALayer though would be handled. See: https://github.com/ryannair05/Cylinder-Remade/blob/master/tweak/CALayer%2BCylinder.m

There are a handful of effects that need that saved and restored each time the animation is run, because the extension only applies to the one dylib, right? I'm no expert in Swift so I was curious about a way to handle that

GitHub

A fully rewritten Cylinder for iOS 14 and above. Contribute to ryannair05/Cylinder-Remade development by creating an account on GitHub.

wide gyro
lime pivot
#

structs are useful especially for data types since they synthesise an init method for you, and it's also important to keep in mind that they're passed around by copying, rather than sharing the same reference

#

different tools for different jobs, just good to have the option of both structs and classes available to you

#

other than those few differences, as far as Swift is concerned they're interchangeable with classes (of course when you bridge to ObjC it's a different story)

wide gyro
#

Do you think structs or classes are better for this? I’m a bit uncertain to be honest

lime pivot
#

personally I'd think using classes and avoiding objc or dynamic features of swift as often as possible should be the better bet, since there's less semantics to classes than structs, especially the difference in passing copy rather than reference

#

but I'd be curious what @nimble parcel thinks of my logic

#

swift does also have unsafe(unowned) as equivalent of __unsafe_unretained, same thing just looks different

nimble parcel
#

i can’t say for sure without looking at disassembly but in this case most effects would be implemented with 2 computed properties, 0 stored properties, and 1 method. That’s effectively an empty struct, which could be entirely inlined into the Effect existential, likely making it more efficient than a class

#

@lime pivot is definitely right about avoiding objc and dynamism though

primal perch
#

@grave sparrow

primal perch
#

tomorrow

zenith hatch
restive ether
#

just ask coolstar why big man

ashen birch
ocean raptor
ashen birch
#

let’s do it until something big breaks so then we remember why we didn’t do it

ocean raptor
#

no thanks

#

cause then I'll have to fix them all trol

#

this is the first issues we've had

weary heath
#

What's the best way to kill an app programatically/through a tweak settings page

#

I found this from a 7 year old reddit comment

weary heath
#

That works, thanks

#

I imported the header file but if you were to copy this you'd need + (id)sharedService; in there too since it's an instance method

#

Yea you got the arguments right

main apex
#

@grave sparrow Why is your chicken so overpriced.

restive ether
#

my brother

grim sparrow
#

gm

tepid olive
#

fakeroot

grim sparrow
#

^

#

neither are the tools to build zefram

restive ether
#

it is if you have apple connect

ocean raptor
#

@grave sparrow tar -caf whatever @input.mtree

#

the mtree will contain permission information

#

look at tar(1) manpage for a description of how to use it

#

yep

#

you could also use --uid && --gid to override the owner and group for all entries in the tar

#

but using mtree will be better

#

wdym?

#

@-probably

#

this is specific to bsd tar

#

bsdtar is soooo much better than gnu tar

restive ether
#

the superior tools 🙏🏻🙏🏻

#

where’s the BSD licensed, bash 5.1 compliant shell

ocean raptor
#

pipe it through col -b to remove format chars

#

as mentioned in man(1)

tepid olive
#

bruh wtf i found a video with a length so long it causes an overflow on the ios mobile app and resets to 1 second

#

and on discord it turns into -1 💀

tepid olive
ocean raptor
tepid olive
#

Not unbanned

#

Alt account

#

Abusing this feature fr

indigo peak
#

Kek

weary heath
#

Does this work on iOS 12

gentle grove
#

oh i replied to wrong messag

#

a/b testing moment

weary heath
#

Not sure if I'm doing something wrong but it's not able to read any values (the null shows as 0 when I use boolForKey)

gentle grove
#

that embed is stupid

#

A/B testing (also known as bucket testing or split-run testing) is a user experience research methodology.[1] A/B tests consist of a randomized experiment with two variants, A and B.[2][3][4] It includes application of statistical hypothesis testing or "two-sample hypothesis testing" as used in the field of statistics. A/B testing is a way to compare two versions of a single variable, typically by testing a subject's response to variant A against variant B, and determining which of the two variants is more effective.[5]

twilit tendon
#

+1

ocean raptor
gentle grove
#

just read it

#

fr

twilit tendon
#

i read normal en wikipedia like if i even know what 90% of the terms mean

ocean raptor
#

There is probably a flag about unsafe permissions

#

@grave sparrow SECURITY ARCHIVE_EXTRACT_OWNER;
/* -p */
bsdtar->extract_flags |= ARCHIVE_EXTRACT_PERM;
bsdtar->extract_flags |= ARCHIVE_EXTRACT_ACL;
bsdtar->extract_flags |= ARCHIVE_EXTRACT_XATTR;
bsdtar->extract_flags |= ARCHIVE_EXTRACT_FFLAGS;
bsdtar->extract_flags |= ARCHIVE_EXTRACT_MAC_METADATA;
}

#

bsdtar's default flags

#

@grave sparrow copy all of the flags that bsdtar uses

#

Are you sure you got them all?

#

Send test code

vivid dew
#

did you set your umask

ocean raptor
#

What dis?

#

Should be easy to write a program to decide it

ornate hamlet
#

sisters computer go brrrr

gentle grove
ornate hamlet
ocean raptor
#

Try again

#

Read through the code

#

Send minimal example code

#

And the tarball

ornate hamlet
gentle grove
#

usrmerge?

ornate hamlet
#

i dont want to do it

#

why usrmerge anyway

gentle grove
#

What does it do

ornate hamlet
#
mv /bin/* /usr/bin
rmdir /bin
ln -s /usr/bin /bin
gentle grove
#

What distroare you using, all the ones I use already do that by default

ocean raptor
gentle grove
#

o

#

how old

tepid olive
#

is there a complete list of lockdownd keys

ocean raptor
tepid olive
#

where would those be

ocean raptor
#

send code, I'll fix

#

no

#

doesn't matter though

#

just send the .c/.m

#

is that in a good code organization way or a can't keep track of open files way?

#

@grave sparrow oh btw mgask MarketingProductName will return iPadOS/macOS/iOS

#

wen eta code

#

why is it so slow androidskull

#

it's taking a really long time

#
./a.out foo.tar foo
#

ik, I decompress it

#

oh lol

#

still very slow

#

it's never reaching ARCHIVE_EOF

#

???

#

FreeBSD

#

no

#

testing on mac now

#

looping on mac too

#

of course

#

that doesn't make sense

#

it links fine

#

oh lol

#

works fine with full paths

#

permissions are wrong though

vivid dew
#

this [redacted] using freebsd

tepid olive
#

Anyone know why the widget I made with xenhtml doesn’t Appear under the widgets list. Ima also using vs

vivid dew
#

at this point i'd probably run instruments on it and see how it's setting the perms

ocean raptor
#

@grave sparrow this is why you read docs

#

If you use chdir(2) to change the current directory between calls to archive_read_extract() or before calling archive_read_close(), you may confuse the permission-setting logic with the result that directory permissions are restored incorrectly.

#

@grave sparrow

diff --color -u ~/Downloads/main.c main.c
--- /usr/home/cameron/Downloads/main.c  2022-04-20 02:48:48.483898000 +0000
+++ main.c      2022-04-20 02:49:20.776462000 +0000
@@ -131,18 +131,17 @@
     retval = 0;
     
 end:
-    if (shouldRestoreCWD) {
-        chdir(existingCWD);
-    }
-    
-    if (existingCWD != NULL) {
-        free(existingCWD);
-    }
     if (writingArchive != NULL) {
         archive_write_free(writingArchive);
     }
     if (readingArchive != NULL) {
         archive_read_free(readingArchive);
+    }
+    if (shouldRestoreCWD) {
+        chdir(existingCWD);
+    }
+    if (existingCWD != NULL) {
+        free(existingCWD);
     }
     
     return retval;
#

you can't chdir() while things are open

#
> rm -rf foo; mkdir foo; ./a.out /tmp/tmp.0crJhHOBok/foo.tar.xz /tmp/tmp.0crJhHOBok/foo; tree -p foo     
Successfully extracted archive
now check the perms of ./foo/relaxed_dir
[drwxr-xr-x]  foo
└── [drwxr-xr-x]  foo
    ├── [drwxrwxrwx]  relaxed_dir
    └── [drwxr-xr-x]  stiff_dir
vivid dew
ocean raptor
#

@grave sparrow you better give me some credits in zefram

#

actually

#

don't

#

zefram doesn't seem like it's gonna be good

#

actually

#

I do want a credit

#

my name is on plenty of bad software

#

like Procursus

misty cradle
ocean raptor
vivid dew
#

add me to the credits

ocean raptor
#

true

vivid dew
#

readme development at manticore llc

#

watching anime

#

do not ping for the next 30 minutes

primal perch
#

@vivid dew

vivid dew
ocean raptor
#

@vivid dew

lethal kayak
#

la pendu

ocean raptor
#

new status

#

very funny

vivid dew
#

false.

#

motivation comes from within

#

here's $100, go buy yourself a bitcoin

main apex
#

False

primal perch
vivid dew
#

who

main apex
#

(Wasn’t me :P)

silver rampart
#

;_;

tepid olive
vivid dew
#

you know, the black guy with the lightning actually has a good point

uneven falcon
#

Request tweak for Videoringtone for iOS 14

undone nest
#

why are you obsessed with kfc

hasty ruin
tidal atlas
#

Popeyes is better

ocean raptor
next wadi
molten oyster
#

Actually Publix makes great fried chicken 🍗

#

So does Royal farms l, it's like a fancy gas station believe it or not. Here in this area anyway

primal perch
#

Julian Edward Gonzales

ocean raptor
primal perch
#

every local store like that i’ve had makes great chicken

#

idk how they do it

gentle grove
tepid olive
main apex
primal perch
#

it’s not bad

#

not amazing either

#

i give it 6.5/10

tepid olive
#

does anyone knows how to display only the time via html or js

#

with a clear background

lethal kayak
#

seems like something that's easily googleable

hushed urchin
#

Is there a channel to hire someone to create a tweak?

weary heath
#

r/tweakbounty

hushed urchin
#

Thanks

#

Do people actually get jobs done there? Lol

weary heath
#

Yeah

#

If someone’s up for it

hushed urchin
#

Cool will check it out do they have a discord tho?

weary heath
#

They do

hushed urchin
#

See it thanks

primal perch
tepid olive
#

Anyone know how to remove the box around the time?

primal perch
tepid olive
#

nvm i figured it out fr

#

this is for iOS 6-8

#

i'll try

#

%hook AFAccount
- (void)setAceHost:(NSString *)aceHost {
    NSString *newAceHost = @"";
    %orig(newAceHost);
}
%end

%hook AFAccount
-(void)setPredefinedServer:(NSString *)predServer {
    NSString *newPredServer = @"";
    %orig(newPredServer);
}
%end

%hook AFAccount
-(void)setHostname:(NSString *)host {
    NSString *newHost = @"";
    %orig(newHost);
}
%end```
i've tried this, installed on my iPhone xr, and siri still works, i want to find the one that handles the url
#

no

#

and syslog on older devices doesnt work for me, it just says device not found

#

im on linux btw

#

idevicesyslog

#

actually

#

nvm im dumb

#

ignore that statement

tepid olive
#

where

#

-(NSString *)aceHost;
?

primal perch
#

@misty cradle gm

zenith hatch
#

gm

vivid dew
#

@misty cradle

misty cradle
misty cradle
zenith hatch
#

why so many no ops

#

bruh

vivid dew
zenith hatch
vivid dew
zenith hatch
#

why

#

true

#

i saw

#

the amazing fuck you framework

#

but what does it even do

#

its just headers for io stuff idk

vivid dew
#

fr

zenith hatch
#

perhaps

vivid dew
#

i found the drugs that everyone in here is using

gentle grove
#

Cat*

#

I'm not a car either

vivid dew
#

catnip mixed with estrogen 500 mg tablet

gentle grove
#

500mg of catnip, estrogen, or both?

ocean raptor
#

it's not broken

#

(I don't actually know if it's broken, I'm just saying that because you're bad)

iron delta
#

Wtf is going on

ocean raptor
iron delta
ocean raptor
#

yes?

#

what about it?

ocean raptor
#

xcode? more like cringecode

lime pivot
#

@grave sparrow why are you Kentucky Fried Capt

ocean raptor
#

Praying for the day that github lets you give people push access only to specific paths

ocean raptor
ocean raptor
main apex
#

Or you could just use Visual Studio Code and not have 50gb of bloatware from xcode, lol.

ocean raptor
#

use vi

#

use ex

#

use ed

snow python
#

Vscode with vim

#

Why

#

It’s great

#

I do all my dev in vscode

#

Em

#

I’m not doing full stack in Xcode when it crashes on simple operations

ocean raptor
#

@restive ether @ashen birch @subtle grail @knotty berry can I add ed to the strap 🥺 👉 👈

#

I would like to remind y'all that Hayden said vi could go in the strap if I ported adduser, which I did

gentle grove
ocean raptor
#

their entire reason for removing it was "people wouldn't be surprised if it was removed"

#

but it lessens POSIX compatibility

#

and ed is used in scripts

gentle grove
#

what's it used for

ocean raptor
#

editing files

ashen birch
#

i’m still behind nano in strap because it’s simple to use

ocean raptor
#

ed is simple to use

ashen birch
#

but im cool with nano or vi

#

autocorrect is a bitch

ocean raptor
#

so I can add vi into the strap?

#

YAY!

ashen birch
#

even tho it’s “the standard text editor” tr

pearl sail
ashen birch
#

^

#

like you’re main maintainer of proc now

#

your choice is final tbh

main apex
#

I hope Hayden is doing well though, miss him :(

lime pivot
#

so uhm

#

I think Apple basically made the apps keep alive during respring tweaks for us in iOS 15

#

just had a springboard crash on stock and all my apps reopened as if nothing happened

#

sadly I was about to hit play on my music when it crashed or I could have told if music survives the respring

#

probably yeah, package managers / hooking package triggers might need to be smarter about what they restart

torn oriole
#

Wrong reply but anyway

lime pivot
#

heheh does anyone have it?

#

that respring crash was good fun, was trying to open Discord and it kept saying the beta expired, despite that TestFlight says it expires in 90 days

#

went to toggle airplane mode thinking it was having trouble hitting OCSP but the button wasn't responding, almost rebooted before it did the job for me lmao

#

like 1-2 years back when Apple OCSP went down and macOS started taking a full minute to open apps

lime pivot
#

huh. is it really meant to just be open safari?

#

that just, opens safari

#

nice

torn oriole
#

No

#

It wasn't a joke

torn oriole
#

You're supposed to force touch the shortcut and hit share bookmark

lime pivot
#

wee that does crash

#

now playing didn't survive, app still running but it's like it got sent a stop playback command

#

now time to hook that stop command and sell it for $29.99 trol

torn oriole
#

Force touch it

#

Press and hold it

lime pivot
#

do share --> add to home screen, then long press home screen icon --> share bookmark

#

I can't believe that's still implemented using web clips

#

it just directly sets it to open a url scheme handled by springboard

torn oriole
#

Oh my message about adding it to the home screen didn't send

#

Woe

lime pivot
#

web clips is the cursed way Workflow got home screen shortcuts to work in the sandbox

torn oriole
#

Why does this respring happen anyway

#

Did anyone ever find out

lime pivot
#

it'd pop open Web.app (the full screen webclip app), then that'd immediately switch apps to Workflow to run the workflow

#

even the initial version of Shortcuts did it that way which was hilarious to me

lime pivot
#

as in it sees that the url is shortcuts:// and goes WTF, you're not supposed to be here

torn oriole
#

Wack

#

Epic apple fail

lime pivot
#

oh even better, it does an out of bounds read on a string

#

god, crash reports are designed to hurt your brain reading them now

#

settings --> privacy --> analytics --> analytics data shows the contents of ~mobile/Library/Logs/CrashReporter

#

heh, I'd imagine you meant they are

#

makes sense though since you're not really supposed to read the crash reports directly, you're meant to use Xcode or a 3rd party tool, but interesting that it's symbolicating symbols now (!)

#

looks like on iOS 15+ cr4shed will just be reformatting json to a readable txt file lol

#

Apple engineers have said in the past that it was purely an optimisation, not trying to hide some kind of secret

#

since it's obv way less work to just print <redacted> than read a bunch of mach-o's into memory and trawl through their structures to find symbol names

#

but I guess they decided it doesn't matter any more?

#

optimisation as in reduced energy usage, considering it's not like the phone needs that information, and it can be generated later by Apple's / the 3rd party crash reporter's server

#

I don't super imagine it takes that much energy to grab symbol names on, ya know, the fastest yet most portable passively-cooled CPU on the market

#

on a 3GS I'm sure it made a difference lmao

#

oh yeah absolutely

#

it always felt wrong that apps did take a noticeable amount of time to become responsive

#

like, what. I bought the fastest phone on the market. why does it still take 2 secs after the animation finishes for the app to display its first frame of UI

naive kraken
#

basically apps are now managed by backboardd afaik

lime pivot
ocean raptor
restive ether
#

you should’ve done pico instead

#

pico in strap

primal perch
naive kraken
primal perch
#

that’s cool

ashen birch
#

honestly im surprised it took them this long to do it

#

it seemed like apple was trying to move springboard handling that away to some other daemon

lime pivot
#

I figured this would have already been done in like iOS 12 or so when they were already modularising it further into runningboardd

#

I get the vibe the whole background app prelaunching thing forced some well-needed refactoring to finally happen

primal perch
#

go ahead

#

do the assignment

#

pays thousands for education

#

expects quality

#

that’s where you messed up

#

based and dos pilled

glacial matrix
primal perch
vivid dew
#

fr fr

#

all 7 of my usb ports are full and i still have more stuff

zenith hatch
main apex
#

@ocean raptor Does your theos linux bootstrap support iOS 15 sdks?

ocean raptor
#

iOS 15 kept the same tbd version so everything should still work

primal perch
#

3-4 usbc ought to be plenty

#

i want 2 thunderbolt 4 tho

#

at least

#

on my next mb

#

40gbpsfr intjcum

pearl sail
#

Apple probably don't want to pay the licensing fee and probably think the customer base don't care

gentle grove
# primal perch

This is a Linux user motherboard because it has no graphics

pearl sail
#

same time when I probably gave a fuck

vivid dew
#

what's your favourite dinosaur

#

@developers

sour oasis
#

is there a way to make it so I don't have to ldid every binary i compile for iOS?

pearl sail
primal perch
vivid dew
#

i like brachydios

primal perch
primal perch
#

use android

hasty ruin
#

android is 7 letters

#

ios 15 jb name = android????

#

leaked

primal perch
#

true

ocean raptor
hasty ruin
#

i did!

#

this is your dms!!

#

you're a bully smh

ocean raptor
hasty ruin
hasty ruin
#

tmw stealing emote from a public server

primal perch
vivid dew
hasty ruin
#

for real

primal perch
#

laugh at this user

#

also has onedrive

#

jk love you full homo

vivid dew
#

gay

hasty ruin
primal perch
hasty ruin
hasty ruin
#

oh ye i see

#

icon tray

primal perch
hasty ruin
#

they have dropbox too fr

#

literally dead

#

@primal perch can you send your legitimate ida license pls

primal perch
hasty ruin
torn oriole
#

fat_blob_with_gun

hasty ruin
#

yes

torn oriole
#

TIL, I need fat_blob_with_gun

hasty ruin
#

Then join my server

vivid dew
primal perch
#

true

sour oasis
primal perch
#

windows

ocean raptor
#

Die

primal perch
#

nt kernel better

sour oasis
gentle grove
#

Whatever tf BSD uses

#

And Linux

misty cradle
#

Your

gentle grove
#

Ok

#

Why is everyone in the arch Linux server a drug addict

#

Or a femboy

#

And/or a weeb

misty cradle
#

.

ocean raptor
sour oasis
#

oh nvm i got it working thank you anyway

hasty ruin
pearl sail
ocean raptor
restive ether
#

if you don’t wanna sign everything with ldid just use jtool

#

#LifeHack

#

@ocean raptor when you gonna drop the update

ocean raptor
#

Never trol

restive ether
#

nooo

#

still no m1 binary

pearl sail
#

#MakeCameronMotivatedAgain

restive ether
#

hard to be motivated when you live in florida

pearl sail
#

hard to be alive in florida

hasty ruin
#

Don’t

prisma grove
#

Is ```static BOOL class_wasModified(UIView * self, SEL _cmd) {
return objc_getAssociatedObject(self, @selector(wasModified));
}

static void class_setWasModifiedByCylinder(UIView * self, SEL _cmd, BOOL wasModified) {
objc_setAssociatedObject(self, @selector(wasModified), @(wasModified), OBJC_ASSOCIATION_ASSIGN);
}``` the best way to add a property to a class? Logos generated code uses NSValue and OBJC_ASSOCIATION_RETAIN_NONATOMIC, but this feels more right to me

#

It's just a BOOL i'm adding to the class

nimble parcel
ocean raptor
prisma grove
prisma grove
nimble parcel
#

it doesn’t support primitive types as associated objects, probably because limiting the implementation to objects is just easier

#

and if you need primitives that’s exactly what NSValue exists for

prisma grove
nimble parcel
#

because associated objects are more or less a hack

#

defining a class the usual way is a pretty important aspect of objc and it’s definitely worth supporting primitives there, but associated objects are comparatively much less common

#

and more importantly, they’re a runtime feature which makes it hard to just keep track of the type of the primitive being stored and safely allow retrieval

#

associated objects aren’t easy to use because apple doesn’t want them to be easy to use — they shouldn’t be the first thing you reach for if you have an option

#

in most day to day development, people can simply modify the source for a class to add a new property, but of course tweak dev is a different story

indigo peak
#

yeah fr

#

what he said

vivid dew
#

you can also use unsafe_unretained to shove a non-object pointer in there

primal perch
#

rust mfers when anything

#

unsafe

tepid olive
#

Costco Chicken is like Walmart Chicken

main apex
valid venture
#

hooking swift possible yet?

prisma grove
#

@nimble parcel This is good information to know. Thank you! Is just changing to OBJC_ASSOCIATION_RETAIN_NONATOMIC good or do I have to convert from NSValue in the getter?

prisma grove
valid venture
#

still?

prisma grove
tepid olive
#

actually all of the gnu software pls

ocean raptor
#

I've made a POC bsd bootstrap

tepid olive
#

🙏 ❤️

restive ether
#

and he doesn’t wanna listen

#

sad!

ocean raptor
#

Me: can we please add vi to the strap? It's small and very useful
Capt: llvm in strap lol (nothing ever builds for me cause I'm bad)

lone bronze
#

wait yall mean to tell me you dont use nvim + tmux 😂

restive ether
#

no i’m straight

lone bronze
#

I remember at my first job i got trained to use that ish (not nvim but vim) ... spent more time adjusting configs than coding haha

ashen birch
#

true bestie ty

nimble parcel
nimble parcel
nimble parcel
#

NSNumber is an NSValue subclass :)

#

probably, you’d just need to bridge to id

#

but NSNumber would be as (if not more) efficient since it supports pointer tagging

blazing lotus
#

How should I go about a reactive app that prevents me from altering anything in it? How can I determine what is preventing it from changing? How do I identify out of all the classes and layers what is changing it???? woeisthanos

ocean raptor
#

macOS already has a BSD userland

#

I would be interesting in removing the coreutils dependency from the strap

#

cause apt depends on coreutils

#

because of gnuisms

zenith hatch
#

wait did you just take amy’s banner image Clueless

ocean raptor
#

Procursus has so many gnuisms moving away from gnu would be way too much work than I have motivation for

ocean raptor
#

hmm?

tepid olive
#

@ocean raptor question bout Node on Procursus

#

Why is it going off of a completely separate fork instead of storing patches?

#

Is it just too many changes or something?

restive ether
ocean raptor
primal perch
#

it’s not jailbroken ios

#

it’s gnu + ios

ocean raptor
#

Does anyone know how swift playgrounds codesigning works?

zenith hatch
vivid dew
#

trol

pearl sail
#

tl amor

zenith hatch
#

awooga

ocean raptor
#

capt do anything correctly challenge (IMPOSSIBLE)

zenith hatch
ocean raptor
#

Well there's your issue, make commands are more than one letter

primal perch
#

@ocean raptor

#

is minecraft bsd out

ocean raptor
#

@primal perch

ocean raptor
#

That's what I use

ocean raptor
#

You have to add your Microsoft login api key yourself though

primal perch
#

basedbsd

#

free easily wins

#

openbsd when any hardware at all

ocean raptor
#

Open BSD has better gaming support

#

But

#

It doesn't support any nvidia cards

#

(Except for some that are like 30 years old)

primal perch
pearl sail
ocean raptor
#

Trying to figure out why half our Ethernet ports don't work after switching to xfinity is not fun

primal perch
#
  1. xfinity
zenith hatch
#
  1. xfinity
lone bronze
#
  1. xfinity
misty cradle
#

@primal perch @restive ether

#

Crypto really be like oops one line mistake

#

34$ million gone

primal perch
pliant fossil
#

lol

glacial matrix
#

If you think about it, it balances out the inflation

lime pivot
#

crypto devs and poor UX that makes it incredibly easy to throw money down a black hole, name a more iconic duo

ocean raptor
#

the issue is that crypto devs are only interested in it for making money, which encourages quick and nasty code with obvious bugs

undone nest
ocean raptor
#

link it like normal but only supply a static archive

#

But imho you should dynamically link it

errant saffron
#

if i know next to nothing about development on ios

#

where should i start learning?

ocean raptor
errant saffron
#

ive modified 3ds homebrew and ive made a few python discord bots

ocean raptor
weary heath
#

If apps learn Swift, if tweaks learn objc

errant saffron
#

so i should learn objective c?

#

ok

#

ty

#

is there any documentation for making tweaks?

ocean raptor
errant saffron
#

ty

blazing lotus
#

I need some big help

#

wtf do I do if I'm trying to create a tweak for an app but it's sooo fucking reactive I can't even change string?

#

I don't even know where to start identifying what is preventing it from simply changing some string

ocean raptor
restive ether
#

in cat years?

blazing lotus
#

someone help instead of talking about fucking balls

ocean raptor
blazing lotus
weary heath
#

and balls

blazing lotus
#

🤨

#

The code isnt the problem

#

It's right

#

It's the app

#

So many things preventing me from changing it

weary heath
#

Sounds like a you issue

ocean raptor
#

libzip.a

blazing lotus
weary heath
#

"No my tweak works it's the app that's broken"

blazing lotus
restive ether
#

skull

blazing lotus
# weary heath "No my tweak works it's the app that's broken"

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

%hook RCTTextView

  • (void)setTextStorage:(NSTextStorage *)textStorage contentFrame:(CGRect)frame descendantViews:(NSArray<UIView *> *)views {
    NSLog(@"[LOG] Hello");
    %orig(textStorage, frame, views);
    }
    %end
weary heath
#

And what do you expect that code to do differently

restive ether
#

you probably aren’t even looking at the right view

blazing lotus
#

I am

restive ether
#

discord just be like

blazing lotus
#

It's not discord

restive ether
#

RCTVIEW RCTVIEW RCTVIEW RCTVIEW

weary heath
#

pain

blazing lotus
#

Yeah the app has the same thing

weary heath
blazing lotus
weary heath
#

If it doesn't log either the method isn't called, your tweak didn't load or it's Console not logging properly

blazing lotus
ocean raptor
#

ok so, setup Procursus, and run MEMO_TARGET=iphoneos-arm64 MEMO_CFVER=1500 make libzip && MEMO_TARGET=iphoneos-arm64e MEMO_CFVER=1500 make libzip then run lipo -output libzip.a -create build_stage/iphoneos-arm64{,e}/1700/libzip/usr/lib/libzip.a

restive ether
#

just cutting it up lol

#

just finish multiarch cam

#

go ahead

ocean raptor
#

not gonna happen

restive ether
ocean raptor
#

If it was ever gonna happen, I'd do it when we switch to rootless

#

but I'm burnt out enough

weary heath
#

That'll run when the app launches

blazing lotus
#

wtf

#

lol

ocean raptor
restive ether
#

lotta branches based on open PR’s

#

like cron

#

you closed that though

#

cause it didn’t work or something like that

ocean raptor
#

lots of them are Hayden doing little experiments, like tcc, flang, and tests

restive ether
#

why did you do a static libiosexec

blazing lotus
#

nothing

ocean raptor
blazing lotus
#

still nothing

restive ether
#

is that really a big deal for a ramdisk though

#

this you bro

ocean raptor
#

if that doesn't work, lmk and I'll send you a fat one

weary heath
blazing lotus
#

@weary heath Maybe I've got the wrong view I'm not sure but surely it's RCTTextView and not RCTview

weary heath
#

Did the ctor log

blazing lotus
#

nope

#

Literally all of those views have the string in it

blazing lotus
#

ya ya sorry it did

#

not log

#

Hm

weary heath
#

Then the method you hooked isn't being called

blazing lotus
#

I'll take an ss

#

all fine right?

#

There is about 10 RCTview layers with the same string

#

and one RCTTextview

#

I'll look into that and see If I can determine and class with the string

blazing lotus
weary heath
#

That's react for ya

#

Quit while you're ahead

blazing lotus
#

lol

tepid olive
#

just don’t react troll

blazing lotus
#

oh my

#

bruh

#

wait

#

I found a bool so I called to check sub methods and it's got soooooo much shit to prevent change and whenever I try to call those methods my app just crashes

#

Like get charvalue or int

#

WTF

#

-(id)lowercaseString WHATTTT

blazing lotus
#

SO MUCH

#

SO MUCH

#

STUFF

#

SO MANY SUB METHODS HAVE SUB METHODS WHICH HAVE SUB METHODS WHICH ALSO HAVE SUB METHODS

ocean raptor
#

@olive herald looks like libzip doesn't like distributing static libraries

#

You'll have to build it without Procursus

ocean raptor
#

the arm64e slice will only work on 14+ though

restive ether
#

why did you do an arm64e slice

ocean raptor
restive ether
#

understandable

ocean raptor
#

Manually

#

I set CC CFLAGS and LDFLAGS then ran cmake

#

Basically I built it identical to how procursus would build it but I did it without using procursus

primal perch
zenith hatch
#

cumxip

queen crag
#

Has anyone tried to enable the Hawkeye framework in 14.3-14.5?

tame plinth
#

Guys please i need a logical idea
Like for ecommerce app
When admin accept single user order send notification to the user

How is it work!?

vivid dew
pearl sail
primal perch
lime pivot
lime pivot
#

was looking for something specific actually

lime pivot
#

I mean

#

older in cat years than me in people years

lime pivot
#

I had to do something fun to work around an incredibly weird quirk with my keyboard

#

xinput --float $(xinput list | grep 'ASUSTeK ROG FALCHION System Control' | perl -pe 's/.*\tid=(\d+)\t.*/$1/')

primal perch
#

ddg minionlaugh

lime pivot
#

--float "disconnects" it from the xinput system, if I don't do this then the keyboard repeatedly sends a keycode that prevents my display from going to sleep (because I'm pressing keys, right?!), and occasionally it gets interpreted as me pressing the power button for some reason

#

this is like a certified linux moment where both this doesn't happen on Windows/macOS, but also, I was only able to work around it because of how modular Xorg is

misty cradle
#

--float "disconnects" it from the xinput system, if I don't do this then the keyboard repeatedly sends a keycode that prevents my display from going to sleep (because I'm pressing keys, right?!), and occasionally it gets interpreted as me pressing the power button for some reason

lime pivot
#

yeah

misty cradle
#

truth

primal perch
#

--float "disconnects" it from the xinput system, if I don't do this then the keyboard repeatedly sends a keycode that prevents my display from going to sleep (because I'm pressing keys, right?!), and occasionally it gets interpreted as me pressing the power button for some reason

zenith hatch
#

--float "disconnects" it from the xinput system, if I don't do this then the keyboard repeatedly sends a keycode that prevents my display from going to sleep (because I'm pressing keys, right?!), and occasionally it gets interpreted as me pressing the power button for some reason

ocean raptor
#

can someone send me a swift playgrounds ipa?

primal perch
#

:probablynot:

gentle grove
#

Almost sent probablynotsafetwerk

primal perch
#

man

crisp vine
hasty ruin
#

admin abuse

viral linden
#

altstore app group doesnt exit

restive ether
#

explain?

zenith hatch
hasty ruin
#

explain?

high citrus
#

explain?

zenith hatch
#

explain?

hasty ruin
#

no

primal perch
#

explain?

main apex
#

explain?

primal perch
#

should i go to taco bell

hasty ruin
#

care to take time out of your day in order to explain this to us?

primal perch
#

@old geyser

#

@scoob

#

f

hasty ruin
#

L

next wadi
hasty ruin
#

not funny jayden

primal perch
zenith hatch
hasty ruin
#

true

zenith hatch
#

elaborate?

#

illustrate?

tame plinth
#

Guys I’m working on app have a coin building with swiftui and whats the solution to not hacking the coin by dlgmemory something like the tweaks

hasty ruin
#

but clients can’t be manipulated in any way!!

#

stream everything uhhn

#

denuvo v10

gentle grove
#

this is one of the most unfortunate bugs ever

#

an oversight leading to steam linux running rm -rf /*

weary heath
hasty ruin
#

oh

#

oh no

primal perch
primal perch
#

la mort

vivid dew
tepid olive
primal perch
#

when the gaming

tame plinth
#

@hasty ruin @grave sparrow guys i mean I developing a app with swiftui and inside the app have a variable for collecting coin and the app get coin from api but i mean when app call api and get the coin for a user when api fetched i being to static variable i mean somehow secure the app from editing the variable with extrenal tweak like dlgmemory ....

hasty ruin
#

explain?

primal perch
#

explain?

tepid olive
#

if client side security worked, no video game would have hackers

#

but literally every video game has hackers

#

just for an example

ocean raptor
#

Any data should be checked by the server too

hasty ruin
twilit jungle
primal perch
#

wtf dghost

#

alive

ocean raptor
#

@tepid olive will you be doing that repeatedly for a lot of apps?

#

still, it'll be blocking a thread

#
@implementation LSApplicationProxy (AltList)
// Getting the display name is slow (up to 2ms) because it uses an IPC call
// this stacks up if you do it for every single application
// This method provides a faster way (around 0.5ms) to get the display name
// This reduces the overall time needed to sort the applications from ~230 to ~120ms on my test device
- (NSString*)atl_fastDisplayName
{
    NSString* cachedDisplayName = [self valueForKey:@"_localizedName"];
    if(cachedDisplayName && ![cachedDisplayName isEqualToString:@""])
    {
        return cachedDisplayName;
    }

    NSString* localizedName;

    NSURL* bundleURL = self.bundleURL;
    if(!bundleURL || ![bundleURL checkResourceIsReachableAndReturnError:nil])
    {
        localizedName = self.localizedName;
    }
    else
    {
        NSBundle* bundle = [NSBundle bundleWithURL:bundleURL];

        localizedName = [bundle objectForInfoDictionaryKey:@"CFBundleDisplayName"];
        if(![localizedName isKindOfClass:[NSString class]]) localizedName = nil;
        if(!localizedName || [localizedName isEqualToString:@""])
        { 
            localizedName = [bundle objectForInfoDictionaryKey:@"CFBundleName"];
            if(![localizedName isKindOfClass:[NSString class]]) localizedName = nil;
            if(!localizedName || [localizedName isEqualToString:@""])
            {
                localizedName = [bundle objectForInfoDictionaryKey:@"CFBundleExecutable"];
                if(![localizedName isKindOfClass:[NSString class]]) localizedName = nil;
                if(!localizedName || [localizedName isEqualToString:@""])
                {
                    //last possible fallback: use slow IPC call
                    localizedName = self.localizedName;
                }
            }
        }
    }

    [self setValue:localizedName forKey:@"_localizedName"];
    return localizedName;
}
@end
#

add that to your code

#

then use NSString *appName = [[LSApplicationProxy applicationProxyForIdentifier:[self applicationBundleID]] alt_fastDisplayName];

ocean raptor
#

(It's MIT)

#

icons are super easy

#

Get App Icon

@interface UIImage (Private)
+ (instancetype)_applicationIconImageForBundleIdentifier:(NSString*)bundleIdentifier format:(int)format scale:(CGFloat)scale;
@end
ocean raptor
#

deez nuts

#

bold underline

#

I'm just following your pattern

#

@tepid olive in any case, you have to use -(NSString*)localizedNameForContext:(id)arg1;

#

arg1 can be nil

#

-(NSString*)localizedName; does not exist in 12-14

#

why is limneos' site so slow

ocean raptor
#

@grave sparrow does uicache -l show system apps?

#

can you check?

#

cause the iphonedevwiki page for LSApplicationProxy says Note: Does not work for system apps

naive kraken
naive kraken
#

(or you could also just depend on AltList)

ocean raptor
ocean raptor
#

I couldn't use AltList cause I needed a very specialized view

naive kraken
#

I mean you could just depend on AltList for the method

ocean raptor
#

monkashrug seems unnecessary, MIT allows this

naive kraken
#

if you don't change the method name then I think it's undefined behaviour which method is getting called when both your pref bundle and AltList is loaded

#

but that really doesn't matter I think

ocean raptor
#

it'll generate a warning my I didn't modify your code at all so it shouldn't be an issue

#

also, there is no reason that AltList would be loaded into it

naive kraken
#

uh yeah if another pref bundle uses altlist then it will be loaded into preferences.app

#

at least if you open that pref bundle before yours

#

idk it doesn't matter too much I think

ocean raptor
#

you're right KEKW

naive kraken
#

only really if one implementation changes

ocean raptor
#

I'll change that before my next release

#

@ocean raptor Who is the developer of the Bot?

primal perch
#

wtf there’s 2

faint lionBOT
#

Hey @ocean raptor, have a look at this!

support

Please keep support or jailbreak related messages in #jailbreak, thank you!

snow python
snow python
#

Look at your with your own personal git instance

#

How much does your server cost?

ocean raptor
#

It's the lowest end digitalocean droplet

#

Runs my mailserver too

snow python
#

Hmm

#

Yah I want a mailserver

#

I just use vercel for everything else, it works great and the serverless stuff is awesome, but I don't have a mail server

ocean raptor
snow python
#

Lol

#

Thats a rip

#

The way you are doing it looks fine

#

Just a little more verbose that it "has to be"

ocean raptor
#

I was trying to make something like

ocean raptor
snow python
#

Mm yah, this may have been the only way then

#

Well like I said you could create your own instance of PSSpecifier and then call altlist through it, but not sure if it would make it any cleaner

#

I'm trying to remember where I did it

ocean raptor
#

I don't have any jailbroken devices or I'd show you what it looks like

#

It turned out really nice, a bit slow when manually dealing it from enabled back to disabled because it has to sort it

#

To figure out where to place it

snow python
#

I write most of my tweaks in swift atm, but this is what I did

ocean raptor
#

I think trying to make it use AltList would add unnecessary complexity

ocean raptor
snow python
#

Probably

primal perch
#

julian gonzales

zenith hatch
#

wtf capt no longer genius

#

why?

#

true

#

oke

ocean raptor
#

I'm not sure you were ever really a genius

valid venture
#

Anyone know how to see how a viewcontroller looks like?

#

in flex 💪

tepid olive
#

so there's no exit condition or wait timer for the loop

#

oh

#

i don't get why people make while loops without a wait timer (so the loop doesn't consume all of the CPU power on the threads running it)

zenith hatch
#

here i am, trying to ensure my code is clean and rewriting my entire app to be as efficient as i can make it and then you have this

#

lmao

tepid olive
#

this reminded me of a funny C meme

zenith hatch
#

i get marked less on my code in exams because the examiners refuse to actually use it (it works i tried it (is a paper exam))

tepid olive
#

will they care if a post a programming meme here?

misty cradle
#

@grave sparrow are u lack toes and toddler ants

misty cradle
#

That shit where u can’t drink milk

#

lack toes and toddler ants

tepid olive
#

lol

#

prob the funniest part is the video ends with a segfault

high citrus
#

Sounds like arduino, could be fixed if you select the right board

high citrus
#

It works okay(ish), but for larger projects I prefer normal c++ with platformio

zenith hatch
#

cumbending

tepid olive
#

also lets ignore my program in c meme

zenith hatch
tepid olive
#

ikr lol

ocean raptor
#

@grave sparrow wen eta professor Anthony bonvetti

tepid olive
#

is python faster than that?

#

lol

zenith hatch
#

py is slow, js is faster

tepid olive
zenith hatch
#

try running identical code in both, js is faster

high citrus
zenith hatch
#

agreed

tepid olive
#

oh lol

primal perch
#

but python is much better on ram

zenith hatch
zenith hatch
primal perch
#

arguably speed > ram usage these days

#

i just don’t like writing js

zenith hatch
#

me neither

#

swift

primal perch
#

swift

zenith hatch
#

obj c

primal perch
#

obj c

zenith hatch
high citrus
#

that's almost like saying that your program is designed for fast processors

gentle grove
#

Wtf @grave sparrow when no genius

primal perch
#

objc without arc isn’t too fun

high citrus
#

wait my program is slow, lets buy a better cpu