#development

1 messages · Page 241 of 1

manic forum
#

(it's an actual repo)

manic forum
#

fym ip logger

#

nekoweb is a static hosting service

quaint rain
#

What server was it running on?

#

And theoretically can someone else host hm

manic forum
manic forum
quaint rain
#

:(

manic forum
#

tweakreviewsdb keeps track of users with udids

#

i'm not sure if a udid is considered pii but i don't want to just give that database to someone else

rocky oriole
#

you wouldn't give your UDID to a random person

#

if you were to give it to someone else even if they're trusted, I personally would have people do something that asks if they would want their UDID transferred which in the process could have it compromised of sorts, and if they say no then it wouldn't be transferred

light owl
#

i have 4 udids and 2 of them are nebulas

sullen roost
trail nimbus
#

its prob the game

sullen roost
trail nimbus
#

is that even a zip

quaint rain
#

So it’s probably the game maker shit and assets packed into that file

sullen roost
#

Yes

sullen roost
#

Or just edit

cloud yacht
#

If it's a gamemaker thing undertale mod tool might be able to open it

hasty ruin
manic forum
#

there's also an issue regarding anonymity

#

people who have not set a username are practically anonymous, the only way you can match one review to another through the public API is through usernames

#

of course that anonymity is completely lost if I give the full data to someone else

#

tbh I don't think anyone cares but there's the possibility that someone might

acoustic imp
#

is #showcase only meant for jb related things?

rocky oriole
#

i would assume so

#

"Do you make iOS tweaks or themes? Share your creations here."

magic hazel
#

How do you get extensions to show up in autocomplete

grim sparrow
#

i'm aware this answer is so incredibly vague

magic hazel
grim sparrow
#

nuke the cache

magic hazel
#

btw i'm talking about like

#

.vertical enum

#

i hate having to manually type .vertical and have it try and autocorrect to .Vertical

#

ill try that tho

#

so like all of derived data?

grim sparrow
#

yeah

#

save a keybind to nuke deriveddata

magic hazel
grim sparrow
#

what version of xcode is that-

magic hazel
#

xcode 7.3.1

grim sparrow
#

ha

#

yeah nuking the deriveddata folder might help that

magic hazel
#

alr i nuked it

#

reindexing

orchid fulcrum
magic hazel
#

nope

#

still nothing

magic hazel
#

i'd be glad to hear which one that is

grim sparrow
magic hazel
#

and trust me, i have tried literally every solution in existence

#

i mean every solution

#

you cannot get swift 2.2 running properly on a modern mac

#

it will not happen

grim sparrow
#

lol

orchid fulcrum
#

i mean what are you trying to do with swift so old

magic hazel
magic hazel
orchid fulcrum
#

yeah i get it but why lol

grim sparrow
magic hazel
#

xcode 8 has the same problem for me

#

xcode 8.2.1 is the last version to support swift 2.2

grim sparrow
#

if ur mixing and matching you'll want to be nuking deriveddata each time

#

and setting the right xcode path in settings

magic hazel
#

i do

#
#if !swift(>=3.0)
import Foundation
import UIKit

extension UILayoutConstraintAxis {
    static var vertical: UILayoutConstraintAxis { return Vertical }

    static let horizontal = UILayoutConstraintAxis.Horizontal
}
    
#endif```
#

ignore the mismatch

#

it was for testing

#

but this is what i want to autocomplete

grim sparrow
#

yeah idk what to tell you

magic hazel
#

i think its swift 2.2

#

it works fine in swift 3

#

the one place i dont need it

magic hazel
#

yeah okay so

#

ive decided since thats the only thing that doesn't autocomplete

#

you can just manually change your camel case

#

sure the codebase wont IMMEDIATELY compile in everything

#

but xcode will figure out what u did wrong

#

and fix it fory ou

#

so its fine

#

i'd rather keep autocomplete

#

at least functions autocompelet

magic hazel
#

Best macOS you can use for swift 2.2 is macOS High Sierra with Xcode 8.2.1 and swift 2.3

light owl
#

Ok

magic hazel
#

Just a PSA for anyone wanting to use it

#
import UIKit

// MARK: - Internal Anchor Backport (safe names)
class JAnchor {
    weak var view: UIView?
    let attribute: NSLayoutAttribute
    
    init(view: UIView, attribute: NSLayoutAttribute) {
        self.view = view
        self.attribute = attribute
    }
    
    func constraint(equalTo other: JAnchor, multiplier: CGFloat = 1.0, constant: CGFloat = 0) -> NSLayoutConstraint {
        return NSLayoutConstraint(
            item: view!,
            attribute: attribute,
            relatedBy: .Equal,
            toItem: other.view,
            attribute: other.attribute,
            multiplier: multiplier,
            constant: constant
        )
    }
    
    func constraint(equalToConstant constant: CGFloat) -> NSLayoutConstraint {
        return NSLayoutConstraint(
            item: view!,
            attribute: attribute,
            relatedBy: .Equal,
            toItem: nil,
            attribute: .NotAnAttribute,
            multiplier: 1,
            constant: constant
        )
    }
}

// MARK: - UIView extension using safe internal anchors
extension UIView {
    var jLeadingAnchor: JAnchor { return JAnchor(view: self, attribute: .Leading) }
    var jTrailingAnchor: JAnchor { return JAnchor(view: self, attribute: .Trailing) }
    var jTopAnchor: JAnchor { return JAnchor(view: self, attribute: .Top) }
    var jBottomAnchor: JAnchor { return JAnchor(view: self, attribute: .Bottom) }
    var jWidthAnchor: JAnchor { return JAnchor(view: self, attribute: .Width) }
    var jHeightAnchor: JAnchor { return JAnchor(view: self, attribute: .Height) }
    var jCenterXAnchor: JAnchor { return JAnchor(view: self, attribute: .CenterX) }
    var jCenterYAnchor: JAnchor { return JAnchor(view: self, attribute: .CenterY) }
}

// MARK: - NSLayoutConstraint isActive Backport
private let activeConstraints: NSHashTable = NSHashTable(options: .WeakMemory)

extension NSLayoutConstraint {
    var jIsActive: Bool {
        get {
            return activeConstraints.containsObject(self)
        }
        set {
            guard let firstView = firstItem as? UIView else { return }
            firstView.translatesAutoresizingMaskIntoConstraints = false
            if newValue {
                if let superview = firstView.superview where !superview.constraints.contains(self) {
                    superview.addConstraint(self)
                }
                activeConstraints.addObject(self)
            } else {
                if let superview = firstView.superview {
                    superview.removeConstraint(self)
                }
                activeConstraints.removeObject(self)
            }
        }
    }
    
    // MARK: - Activate / Deactivate multiple constraints
    static func activate(constraints: [NSLayoutConstraint]) {
        for c in constraints { c.jIsActive = true }
    }
    
    static func deactivate(constraints: [NSLayoutConstraint]) {
        for c in constraints { c.jIsActive = false }
    }
}

// MARK: - Typealiases / Modern-looking names
extension UIView {
    var leadingAnchor: JAnchor { return jLeadingAnchor }
    var trailingAnchor: JAnchor { return jTrailingAnchor }
    var topAnchor: JAnchor { return jTopAnchor }
    var bottomAnchor: JAnchor { return jBottomAnchor }
    var widthAnchor: JAnchor { return jWidthAnchor }
    var heightAnchor: JAnchor { return jHeightAnchor }
    var centerXAnchor: JAnchor { return jCenterXAnchor }
    var centerYAnchor: JAnchor { return jCenterYAnchor }
}
#

anyone have a better solution

#

using typaliases is a bit annoying

magic hazel
#

missing required module 'SwiftShims'

#

anyone know how to fix this

mental wharf
#

Hi there, has anybody attempted backporting ios frameworks yet? I wanna try making AppTrackingTransparency backport but I'm not sure how to properly inject it

mental wharf
slim bramble
#

What’s your end goal

grim sparrow
#

I know coolstar was able to back port lossless music but it was a complete pia and not at all production ready

#

it worked by just copying a cache from a new ipsw over and forcing apps to use that

harsh junco
grim sparrow
#

that’s vague

harsh junco
#

WebKit

grim sparrow
#

OH

#

Yes

#

I see people doing that all the time

#

don’t you dare say whoosh

#

Somewhere here I’m sure you can find a statically linked safari from new iOS

harsh junco
#

wait what

statically linked
???? Since when lol

harsh junco
grim sparrow
#

I think the biggest argument for not distributing a static Safari is it’s arguably piracy

#

I’m not sure what the servers stance on it is

harsh junco
#

(everything is on device)

grim sparrow
#

Sure

lime pivot
#

introducing a new framework should be totally doable, if you're on rootful

#

unless dyld is hardcoded to never look on disk for /System/Library/(Private)Frameworks which it might be

sonic totem
lime pivot
#

write a framework that just implements stubs for the public APIs and see if it works

wooden yarrow
#

makes it seem like it would be prevented by default

lime pivot
#

that sounds like a thing they'd do yeah

timid furnace
#

on disk first and then cache as a fallback

#

at least on macOS

floral notch
#

From a sideloaded ipa / appstore app, are there restrictions around connecting to localhost over TCP? Specifically, SSH? It's timing out for me

#

Ah that's so annoying, it seems like iOS blocks the SSH port specifically

#

I tried it on localhost port 44 (dropbear) and it connects fine. wtf.....

#

i assume this is why palera1n has another ssh server on port 2222\

mental wharf
#

Or at least to try to make it work

pearl sail
#

Oof that sounds painful

#

Have fun

slim bramble
#

Use a different shared cache maybe

#

Or just patch out the methods that don’t exist

pearl sail
#

Would that not just make apps act wonky if they use anything that isn’t present

magic hazel
ocean raptor
#

Hello, Amy I assume you are in this channel, I have a question about Sileo telemetry. Does that exist? How many users do we have in the different iOS versions?

rocky oriole
#

@grim sparrow ^

quaint rain
lime pivot
#

I can check but I forgor what the domain is for the dashboard

#

oh I got it

#

nop it's broken

#

well I can tell you what Chariz is seeing, should be about the same

grim sparrow
#

i dm'd it

frank fossil
#

fwiw, simulators keep original dylibs and frameworks instead of having just dsc

harsh junco
#

something like a dsc hook idk

visual meadow
#

i put 16.4 simulator webkit in place of 16.4.1 webkit and it worked fine

#

but pointless

inner imp
#

Does anyone know how one would fix (shadcn) sidebars with iOS 26? Has apple said something about this? Are there new css env vars to fix this?

ocean raptor
#

Bye 🫡✌️

cloud yacht
#

As far as I can tell it's working as intended?

inner imp
#

the second image just doesn't look good

cloud yacht
#

Sure but it's the same behaviour, it goes to the bar. I honestly have no idea I would probably create an issue with shadcn

inner imp
#

This isn't an issue with shadcn

#

It's an issue with safari

#

safari 26 specifically

#

but doubt that that's the right solution

#

i just thought maybe one of you knew a few new css vars that have been added (or not) in safari 26, or if the safari developer docs say something about this

inner imp
#

cant get it to work

#

it overflows

#

but it isnt shown

#

even when overflow: visible is set

#

why are overflows not visible

inner imp
#

tell me ios 26 isnt ready without telling me ios 26 isnt ready

trail nimbus
#

Lmao

lime pivot
lime pivot
lime pivot
inner imp
#

you mean apple likes websites looking broken now?

lime pivot
#

on Chariz we have a trick where I made the backdrop shade extend to like -100px and 100px, but it’s not working

#

that was going to be my suggestion

inner imp
#

yeah its very weird why viewport overflows are not shown

lime pivot
#

it seems to me if the page is equal height to the viewport, it cuts it off

#

even if you have divs that extend past it

inner imp
#

but the page isn't 100% the height of the viewport

#

neither the <html> nor the <body>

#

the thing is

#

the sidebar is position: fixed

#

and in my experience

#

safari does NOT like fixed elements

#

maybe its coz of that

inner imp
light owl
#

@native dune Is it working yet

kind herald
#

@native dune Is it working yet

native dune
#

Are you working yet

#

Are you working yet

kind herald
#

No but you arent

#

So

#

Whats your point friend

light owl
#

Hes working on nocturne as a slave rn

#

For free

#

You just sit around and do nothing all day probably

kind herald
#

Working on my jellyfin rn

jagged willow
kind herald
#

Adding a show

jagged willow
#

nice

pearl sail
#

Ban Maxine for piracy

jagged willow
#

im still adding one but its taking forever and im on hour 3

pearl sail
fluid lintel
#

Hello, I'm not sure if this is the right place, but I would like to know if there is a way on iOS to create an app that triggers backups of all other apps. I have seen that by connecting it to OS X, it is possible to do this using mobilebackup2. However, I was wondering if there is a way to do this from within iOS without jailbreaking.

fast gazelle
#

can i implement a custom CAFilter?

cloud yacht
granite frigate
#

that requires a pairing file

grim sparrow
fast gazelle
#

one that uses a custom shader if possible

#

i have this extremely gorgeous shader written in metal that id love to put system wide

#

so real, non-gaussian blur only glass can be made

magic hazel
#

this is super cool

#

wonder if i can get it to work on ios 6

lime pivot
#

would be extremely cool but prolly needs a ton of runtime checks

#

note that @/#available doesn't work properly prior to iOS 8 or so

#

you need to do the @available guard to satisfy the compiler check, and then do a runtime check such as against kCFCoreFoundationVersion

magic hazel
#

it would require me to write a full fleshed out backport of swift 3+ to swift 2.3

#

atp idk if its simpler to track down the api calls in swift's source and build a custom toolchain

#

the issue is whenever i try it's so overwhelming

#

swift's codebase is monumental

#

openswiftuis codebase is pretty large as well

#

i feel like it might be worth doing though

#

i dont t hink the project relies on stuff like concurrency

#

which is good

#

because i have no idea how i would even attempt to implement that in swift 2.3

#

rn ive just done like funni api renames but everything already fundamentally exists

#

either via obj c apis

#

or old swift apis

#

when were property wrappers introduced?

#

i think its possible i could maybe MAYBE get the first version of swift 3.0 preview to work on ios 6

#

with a custom toolchain

#

i already have a custom toolchain of swift 3.0 before the great renamings happened

#

that works

#

its a bit annoying to use though

#

ugh all of this would require so much wor

#

idek where to start

#

all for the purpose of getting away from uikit

#

i am hating uikit more by the day tho

#

i just fundmentally dislike the viewcontroller approach

#

its messy

#

swift 5.1

#

property wrappers

#

thats beyond even ios 7 iirc

#

swift 4 workson ios 7

cloud yacht
#

If I'm generating an IPA for sideloasing should I make a .tipa or .ipa?

#

Like should my tool output files in which extension?

torn oriole
#

Otherwise its just an IPA

harsh junco
gentle grove
#

i really need to set up lsp in my nvim sometime

reef trail
magic hazel
#

how do you edit a mach-o binary's current_version and compatibilty version

#

i need someone to help me do a mass change to all my dylibs

grim sparrow
#

.tipa is just a way of saying "this wont work without trollstore"

magic hazel
#

i'm banging my head against a wall here

#

nothing online gives any useful information

#

vtool doesn't work, install_name_tool doesn't work

wooden yarrow
#

either that or use a hex editor and a mach-o template and go to town

magic hazel
#

errr no

#

i ended up giving up on that train of thought anyways

wooden yarrow
magic hazel
#

i mean sure but it's meh

#

it also doesn't work properly for some reason

#

and it's pretty limited

#

there's already a mach-o editor btw

#

machoview

wooden yarrow
#

also vtool only seems to change some other version?

#
$ vtool
usage: vtool [-arch <arch>] ... <show_command> <file>
       vtool [-arch <arch>] ... <set_command> ... [-replace] [-output <output>] <file>
       vtool [-arch <arch>] ... <remove_command> ... [-output <output>] <file>
       vtool -help
  show_command is exactly one of:
    -show
    -show-build
    -show-source
    -show-space
  set_command is one or more of:
    -set-build-version <platform> <minos> <sdk> [-tool <tool> <version>] ...
    -set-build-tool <platform> <tool> <version>
    -set-version-min <platform> <minos> <sdk>
    -set-source-version <version>
  remove_command is one or more of:
    -remove-build-version <platform>
    -remove-build-tool <platform> <tool>
    -remove-source-versio
#

build and source versions

#

and platform versions

grim sparrow
#

its like 20 lines of code to mmap in the macho header of a fiel

floral notch
# gentle grove i really need to set up lsp in my nvim sometime

0.11.3 made this super easy, no dependencies, put this in ~/.config/nvim/init.lua

vim.lsp.enable'clangd'
vim.lsp.config('clangd', {
    name = 'clangd',
    filetypes = {'c', 'cpp', 'objc', 'objcpp'},
    cmd = {'clangd', '--background-index'},
    on_attach = function(_, bufnr)
        local map = function(lhs, rhs) vim.keymap.set('n', lhs, rhs, {buffer=bufnr}) end
        map('gd', vim.lsp.buf.definition)      -- jump to definition (.m/.mm or framework header)
        map('gD', vim.lsp.buf.declaration)     -- jump to declaration (often the .h)
        map('gI', vim.lsp.buf.implementation)
        map('gr', vim.lsp.buf.references)
    end,
})
gentle grove
wooden yarrow
floral notch
#

idk i code in a finite number of programming languages

indigo kraken
magic hazel
#

interesting

light owl
#

@native dune Is it working yet

indigo kraken
#

what is this thing that you’re constantly asking is working or not?

light owl
#
  1. him
  2. the custom image that hes working on for the spotify car thing to make it work again
  3. himself
native dune
#
  1. no
  2. no
  3. still no
acoustic imp
#

@wind ravine THANK YOU, I HAVE HAD MINE STUCK ON FOREVER

wind ravine
acoustic imp
hollow oar
#

Damn

acoustic imp
#

When I was jb I could at least remove it w flex

#

Not on iOS 18 agony

fast gazelle
#

i have this awesome shader

#

that if anyone can tell me

#

how to put it into cabackdroplayer et. al.

#

then we would have a more accurate than not liquid ass

#

i know for a fact that the gaussian blur is coming from the gpu

#

so there has to be a shader somewheere

rocky oriole
#

@orchid fulcrum did you ever figure out a way to bring the launchpad back on with the official macos tahoe release

#

also unrelated, but posterboard now exists in macos tahoe

#

don't think it was there before

magic hazel
#

spritekit works on ios 6

#

i knew it would

#

apple yet again having artificial limitations

#

getting it to work is slightly intrusive

#

you have to modify the mach-o files

#

but once you copy the frameworks into a local locatin

#

it works perfectly

#

exactly as you would expect

#

this is spritekit 1

#

im gonna try spritekit 2 next

magic hazel
#

using chatgpt to make me a build automation script

#

that way anyone can use it automagically

#

itll detect your sdk version and extract the frameworks then modify them

#

done

#

got a working script

#

does it all for yoiu

#

gonna try with xcode 6 beta now

#

this is so hype

#

ios 6 development is here fr

#

i wonder how many ios 7 "only" changes can be backported in this fashion

#

hell maybe i can even backport swift 3 like this

#

just find wherever the missing symbols are and copy over the system libraries

#

then again those aren't frameworks

#

rip

#

this is pretty huge tho

#

its pretty jank under the hood but one build script and it's all taken care of for you

magic hazel
#

is it illegal to provide apple's frameworks

orchid fulcrum
orchid fulcrum
robust radish
orchid fulcrum
#

its in a subroutine

#

the sub in the if returns 1

magic hazel
robust radish
#

i only had a beta4 Dock. I think a beta1 would work better

rocky oriole
rocky oriole
orchid fulcrum
#

well obviously a bottom right hot corner toggling launchpad on the release macos. but wondering how

#

replacing the whole dock .app with an older one ?

rocky oriole
rocky oriole
#

ok, I've extracted it from a 15.6 ipsw but I get the "can't be opened" error so more stuff has to be done

#

now i've gotten further, if you run the binary and allow it in settings it opens but gets killed immediatly

#

sigkill

light owl
#

@native dune Are you working yet

native dune
#

ARE YOU WORKING

rocky oriole
#

console shows the error CoreData: Unable to create token NSXPCConnection. NSXPCStoreServerEndpointFactory 0xc7d905ea0 -newEndpoint returned nil

#

whatever that means

#

i just disabled SIP to see what happens and now my mac keeps saying my password is wrong ?

#

thankfully i have a backup account so i was able to reset it but wtf

grim sparrow
rocky oriole
#

huh, weird

grim sparrow
#

yuh

rocky oriole
#

ok @orchid fulcrum I have gotten the old launchpad to "open" on 26.0 but not how you expect it

I disabled SIP and added -arm64e_preview_abi as a boot arg for it to open, but for some reason, when you open the app or run the binary it will oddly just run the new lauchpad

see video

#

oh i just realized you were talking aboiut replacing the entire dock.app not launchpad.app but whatever

#

if you run it with rosetta it produces the same result, the boot arg just doesn't need to be added

orchid fulcrum
#

ah yeah the launchpad.app and apps.app do the same thing. post a notification called com.apple.launchpad.toggle

#

and dock.app handles that notification (so drawing/operating the launchpad)

rocky oriole
#

oh that makes more sense

#

now time to see if i can get it to run with the old dock.app then ig?

orchid fulcrum
#

ig its worth a try, if the "can't open the app" warning comes again maybe try to change the versions in the info.plist and resign it

rocky oriole
#

well shit it just reset my whole dock

#

thanks macos

light owl
rocky oriole
#

im giving up for now

magic hazel
#

Doing a final attempt to fix Swift 3 on iOS 6

#

Gonna manually patch out each and every missing symbol

#

and create a list

#

so that when i'm done I can do the same thing on swift 3 stable

#

and maybe even swift 4

#

so far it actually is working

#

got rid of munmap and it moved onto the next symbol

magic hazel
#

LMAO

#

I DID IT

#

I GOT SWIFT 3 TO WORK ON IOS 6

#

PROPER SWIFT 3

#

well

#

3.0db1

#

BUT STILL

#

LMAOOOOO

#

i had to remove like 5 things

#

💀

magic hazel
#

@radiant idol i made swift 3.0 preview 1 work

#

working on getting swift 3.0

magic hazel
#

mismatch errors

#

going for swift 3.1 instead

#

closer commit match

#

if this works

#

its very possibl

#

ethese

#

20 odd lines of cod

#

are al that stands between swift 3.1

#

and maybe even swift 4.2

#

then again ios 11 sdk

#

idk

#

MAYBE ios 10 sdk will allow some funni business

#

oh wait nvm

#

you can still target ios 10

#

which has armv7

#

lmao

#

HAHAHAHHA

#

SWIFT 3.1 WORKS

#

FUCK YES

lime pivot
magic hazel
#

This is huge

#

im not stopping here

#

its very very possible swift 4 works

#

afterall

#

ios 6 vs 7

#

shown to be v similar

#

now

#

techincally

#

i may have bypassed some interesting stuff

#

like munmap adn some dealloc methods

#

but

#

should be alr

primal flint
#

I'm trying to use Cephei in my tweak (kind of new to preferences stuff tbh) and it seems like a lot of apps can't read the HBPreferences keys at all. Is this something to do with the sandbox restrictions in Cephei 1.12+? I'm not trying to access Apple preferences or anything, just my own tweak prefs :(

Is this because my filter is com.apple.UIKit or did I make some other silly mistake? Here's a code snippet for demo purposes:

static HBPreferences* globalPrefs;
#define getPrefs() [HBPreferences preferencesForIdentifier:@"com.uint2048.runasdate"]

%ctor {
  globalPrefs = getPrefs();
  if (globalPrefs == nil) {
    syslog(LOG_ERR, "RunAsDate error: Failed to find preferences!");
  }
}

void the_one_big_beautiful_time() {
  NSString* bundleIdentifier;
  NSDictionary* prefs;

  bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
  if (!bundleIdentifier) {
    syslog(LOG_ERR, "RunAsDate: Failed to find bundle identifier");
    return;
  }
  
  if (globalPrefs == nil) {
    globalPrefs = getPrefs();
    if (globalPrefs == nil) {
        syslog(LOG_ERR, "RunAsDate error: Failed to find preferences in bundle %s!", [bundleIdentifier UTF8String]);
        return;
    }
    syslog(LOG_ERR, "RunAsDate: Loaded preferences in bundle %s!", [bundleIdentifier UTF8String]);
  }
  
  prefs = [globalPrefs objectForKey:bundleIdentifier];
  if (!prefs) {
    NSArray* bundles = [[globalPrefs dictionaryRepresentation] allKeys];
    syslog(LOG_ERR, "RunAsDate: Bundle %s is not in set of bundles %s", [bundleIdentifier UTF8String], [[bundles description] UTF8String]);
    return;
  }

  // ...
}

@lime pivot If you have any insight, I'd appreciate it especially since Cephei killed the queen

magic hazel
#

if this works in xcode 10.1 maximum macos maybe get raised from 10.13.6 all the way to 10.14 or 15

#

ngl we've had a huge improvement tho

primal flint
magic hazel
#

natively you wouldve had to use obj c in xcode 5.1.1 on max 10.10

magic hazel
#

turns out it always did

#

💀

#

natively

#

no mods

#

literally just change info.plist

#

nobody tried it

primal flint
#

lol

magic hazel
#

swift 3 not so much

#

but ive patched it

primal flint
#

why didn't apple allow that then

magic hazel
#

absolutely no clue

#

ykw's funny

#

in xcode beta 6 1-3

#

swift 1

#

native build target for ios 6

#

god knows why they removed it

#

whats funnt

#

is at the start

#

i thought that was it

#

maybe i wouldve been content in another universe

#

like everyone else

#

it's so funny to me that this key piece of info for legacy dev's is just.. missing forever

#

now there's a slight downside to using my method for swift 3

#

it's not quite as clean

#

but it may as well be

#

essientially you'll just replace the system libraries in the sdk w my custom ones

#

but there's like

#

3

#

and then ur done

#

and u can compile from source

#

so i don't have to worry about apple getting mad at me

primal flint
#

in the sdk? not even on the device?

magic hazel
#

yep

#

that's it

#

no

#

not

#

sdk

#

mis spoke

#

toolchain

primal flint
#

ah

magic hazel
#

but still

#

it's pissfuck easy compared to other stuff i tried

primal flint
#

sometime you should do a tutorial post in r/legacyjailbreak

magic hazel
#

like manually patching the binary

#

i already have a writeup for how i got swift 2.3 working

#

once im done finding the highest swift i can get w this new method

#

ill make a new writeup

#

crazy how apple could've omitted 30 lines and lost like 4 sub types and a memory management method but kept full ios 6 support

#

also for ppl more technical than i, is there anything bad that could come of using free() in place of munmap()

#

grrrrr

#

the new timer method is an ios 10 sdk method

#

alr so ill still have to patch that in sadly

#

that's alr

#

mark it as nonobjc and should be good to go

primal flint
magic hazel
#

i mean

#

munmap doesn't exist in. ios 6

#

like at all

#

so

#

there must have been some way

#

i mean it wasn't even called until the 2nd final commit of swift 3.0db1

#

so i doubt i broke anything

#

it's only related to dispatch anyways

primal flint
#

seems like it's a wrapper for mach_vm_deallocate in ios 10 kernel:

magic hazel
#

hmmmm

#

might have to replace that.. it's fine

#

if it's a mere wrapper

#

i can probably just reimplement the wrapper stub

#

call it something else

#

and then use it

#

in place of munmap

#

idk

#

we'll see

#

might not actually cause issues

#

ive had this app running a timer loop on a dispatch queue for 20 minutes now

#

on 256mb of ram, if it were gonna crash, it would've crashed

#

memory usage seems perfectly normal

lime pivot
primal flint
lime pivot
#

docs are accurate, other than it not working I guess

#

never finished working on that. sorry I don't have anything to help here

primal flint
# lime pivot never finished working on that. sorry I don't have anything to help here

Oh should have checked the issues tab, would have found https://github.com/hbang/libcephei/issues/64 ... I assumed it was just that I didn't know what I was doing... swallowing my head

GitHub

I am developing a Tweak with 'com.apple.corelocation' as the bundle filter. My environment is as follows: iPhone XS Max iOS 15.1 Dopamine 2.0.11 rootless Jailbreak I want to share settings ...

lime pivot
#

that comment there kinda works, not super recommended, but I guess it's the only working option

#

you would also need the other half of it, but I can't find if anyone wrote that down properly

#

the other side of it that goes in the prefs bundle classes and writes to the plist directly

primal flint
# lime pivot that comment there *kinda* works, not super recommended, but I guess it's the on...

Hmmm... I wish I knew from a technical perspective why exactly it isn't working in Cephei on iOS 15+ but I guess if you knew that you probably would have fixed it. It's ironic that I'm trying to use Cephei instead of just writing to a plist in the first place because of your blog article from 10 years ago claiming that Cephei existed to solve this exact problem: https://adamdemasi.com/2015/02/15/settings-the-right-way-redux.html

As it turned out, retrieving tweak settings from NSUserDefaults as outlined in the post I wrote a few months ago proved to not be very robust and still had problems within a sandboxed process.

timid furnace
#

no

acoustic imp
#

no

rocky oriole
#

no

#

an iphone will not help with what you want to do

#

i am not a developer stop sending me offers in dms

if i'm ignoring a dm (which is what it says in my bio) what makes you think that upping the cash value will make me respond

rocky oriole
#

who said we man this is just you

hexed knot
#

What are you saying

orchid fulcrum
hexed knot
#

Get janis the police officer in here

#

Not for iOS stuff

hexed knot
#

Wait you're offering money?

#

Ok I am an iOS developer

#

It's probably bullshit if you're offering that much though

#

Is this for onlyfans

#

Or any other pimp stuff

#

Because that's what everyone who offers 1k for a jb tweak wants

heavy zephyr
#

I think bro is just in here to XP farm

rocky oriole
hexed knot
#

@torn oriole can u do smth

rocky oriole
#

im confused

torn oriole
#

What

rocky oriole
#

kitty!!

orchid fulcrum
#

cat

hexed knot
#

Get the dude out of here I don't want him in development

native dune
#

you told me it is not possible
also you are not developer
from where thoughts Lebovsky

rocky oriole
#

just because im not a developer doesn't mean I don't know anything iOS related lmao

orchid fulcrum
#

you told me it is not possible
also you are not developer
from where thoughts Lebovsky

heavy zephyr
#

What are you wanting now?

rocky oriole
#

🔥

torn oriole
#

Joins just to start shitting on people and acting high and mighty

native dune
#

me

torn oriole
#

Like shut up bro you work the porn industry

hexed knot
#

Nebula

native dune
#

@light owl @kind herald Fuck you

kind herald
#

What i do

heavy zephyr
#

Nebula just antsy again 🙄

torn oriole
#

Ding!

native dune
rocky oriole
heavy zephyr
#

typing Nebula is typing...

hexed knot
#

Please stay on topic in the development channel or else the police will come after you.

light owl
#

Fuck you

native dune
#

Fuck you

hexed knot
#

Fuck the police

light owl
#

@native dune Whats the move btw

hexed knot
#

Hopefully that's not too political

heavy zephyr
light owl
#

Im actually not planning to work on anything today im just asking what the move is

hexed knot
#

Vscode is fine why do you need a new one

heavy zephyr
native dune
#

use vscodium then

hexed knot
#

It's open source

light owl
#

Open source software always sucks

native dune
#

use zed

light owl
#

@native dune Are you done your school work yet

hexed knot
light owl
#

Yeah

#

It sucks

light owl
#

But people only have like 3 options so they dont really have a choice

hexed knot
#

That's why we use nocturne-private

heavy zephyr
# native dune use zed

I have been using zed, but falls short since there's no markdown support still. I can use it for most things but no LLVM and no markdown gets kind of annoying

hexed knot
#

Tf is zed

heavy zephyr
hexed knot
#

I'm assuming it's rust

#

And ai shit

light owl
#

@native dune is ios 18.6.2 trollstore out yet

native dune
#

all the ai stuff can be disabled

heavy zephyr
light owl
#

Okay thanks im updating now

hexed knot
#

How did I know it's rust and ai

light owl
#

Wheres your genius role then

heavy zephyr
light owl
#

They be giving genius to like everyone now

hexed knot
#

Good question man

light owl
#

Even bottom of the barrel people

#

Like maxine

native dune
#

if maxine can have genius you can too

heavy zephyr
hexed knot
#

No dude I have no idea about jbing now except it's dead

#

Trollstore, mdc, cowabunga, no idea what any of that stuff is

#

I think mdc and cowabunga are plist editors

#

Mdc might be the exploit for cowabunga

jagged willow
#

give tree genius trust

heavy zephyr
heavy zephyr
#

it's basically the on-device version of blacktop's ipsw but like less exciting

heavy zephyr
grim sparrow
#

well, one is for using funny workarounds to write files out of sandbox, the other is for the analysis of firmware images

heavy zephyr
quaint rain
grim sparrow
#
Download and Parse IPSWs (and SO much more)

Usage:
  ipsw [command]

Available Commands:
  appstore        Interact with the App Store Connect API
  class-dump      ObjC class-dump a dylib from a DSC or MachO
  comp            Compress files using libcompression
  decomp          Decompress files using libcompression
  device-info     Lookup device info
  device-list     List all iOS devices
  diff            Diff IPSWs
  disk            Disk commands
  download        Download Apple Firmware files (and more)
  dtree           Parse DeviceTree
  dyld            Parse dyld_shared_cache
  ent             Manage and search entitlements database
  extract         Extract kernelcache, dyld_shared_cache or DeviceTree from IPSW/OTA
  fw              Firmware commands
  help            Help about any command
  idev            USB connected device commands
  img3            Parse Img3
  img4            Parse and manipulate IMG4 files
  info            Display IPSW/OTA Info
  kernel          Parse kernelcache
  lsbom           List contents of a BOM file
  macho           Parse MachO
  mdevs           List all MobileDevices in IPSW
  mount           Mount DMG from IPSW
  ota             Parse OTAs
  pbzx            Decompress pbzx files
  pkg             🚧 List contents of a DMG/PKG file
  plist           Dump plist as JSON
  pongo           PongoOS Terminal
  ssh             SSH into a jailbroken device
  swift-dump      🚧 Swift class-dump a dylib from a DSC or MachO
  symbolicate     Symbolicate ARM 64-bit crash logs (similar to Apple's symbolicatecrash)
  version         Print the version number of ipsw
  watch           Watch Github Commits

Flags:
      --color           colorize output
      --config string   config file (default is $HOME/.config/ipsw/config.yaml)
  -h, --help            help for ipsw
      --no-color        disable colorize output
  -V, --verbose         verbose output

Use "ipsw [command] --help" for more information about a command.
#

its all parsing and analysing firmware images

heavy zephyr
heavy zephyr
grim sparrow
#

ipsw doesn't do that though -

grim sparrow
#

it doesnt even have anything remotely close to that

heavy zephyr
heavy zephyr
#

Brain just *left*

magic hazel
magic hazel
#

I checked I’m allowed to distribute these

#

Warning: do not use yet

#

There’s issue

#

U can use w swift 3.0.2

#

But not swift 3.1 yet

#

I have to figure out some issues

#

Idk if it’s even possible to fix

#

Without a custom tool chain

#

Rn you don’t even nedd that

#

You just drag those into the Xcode tool chain and compile

#

Works like magic

light owl
#

@kind herald Hey suspicious files i think

magic hazel
#

It's open source lmao

light owl
#

Me when i upload malicious files to github under my own account and claim they are not suspcious

magic hazel
#

lol

light owl
#

@native dune Yo why do we read the version info from version.json but not use it in the app

#

Are you stupid

native dune
#

Forgot lowkey

#

oh actually i do have a reason

#

bc it was temporary

lime pivot
#

I had a sandbox workaround half working, but I never had a chance or motivation to finish it

magic hazel
#

yeah alr just

#

don't use it

#

swift 2.3 is so much more consistent

#

unless i can iron out the buggyness

#

which would be very nice

#

maybe i can

#

i think if i'm gonna put effort into getting a version to work swift 3.1 isn't a bad place to start

magic hazel
#

i bet its the unmap thing

magic hazel
#

gonna try swift 3.0

#

and hope dearly that it functions properly

#

bcus rn uikit is kinda fucked up on ios 6

#

man oh man apple does not want me to have swift 3 on ios 6

#

i mean technically swift 3 works fine

#

it's just libraries it interfaces w

#

there's also substantial issues with how it interfaces with objective c classes for some odd reason

#

however, lucky for me

#

the swift toolchain is built for xcode past 3.0

#

so no matter the version of 3 i get working

#

you should be able to just, use it on most modern macos versions

#

technically i'm testing 3.0.2

#

after that if it's borked i'll be testing 3.0db6 as a last resort

magic hazel
#

yep nah it still has the same issues

#

man oh man this is not good

slim bramble
#

😭

magic hazel
#

indeed

#

reason being that i know that when i go looking for stuff and i can't find it i find it super annoying bcus i know ppl have done it before

#

so hopefully the next person who does smthing like this finds all my shit

#

and has an easier time

#

im actually mighty stumped here tho

#
import UIKit
import Darwin

class ViewController: UIViewController {
    let a = UIButton(type: .custom)
    let stack = UIStackView()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        DispatchQueue.main.async(execute: {
            self.view.backgroundColor = .red
        })
        
        DispatchQueue.main.asyncAfter(deadline: .now() + 4) {
            self.view.backgroundColor = .blue
        }
        
        /*let _ = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
            self.view.backgroundColor = .red
            
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.05) {
                self.view.backgroundColor = .blue
            }
        }*/
        
        
        
        a.setTitle("Hi", for: .normal)
        a.translatesAutoresizingMaskIntoConstraints = false
        a.backgroundColor = UIColor.gray.withAlphaComponent(0.4)
        
        stack.axis = .vertical
        stack.distribution = .fill
        stack.alignment = .center
        stack.addArrangedSubview(a)
        
        view.addSubview(stack)
        
        view.addConstraint(NSLayoutConstraint(item: a, attribute: .width, relatedBy: .equal, toItem: view, attribute: .width, multiplier: 0.25, constant: 0))
        view.addConstraint(NSLayoutConstraint(item: a, attribute: .height, relatedBy: .equal, toItem: a, attribute: .width, multiplier: 1, constant: 0))
        view.addConstraint(NSLayoutConstraint(item: a, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0))
        view.addConstraint(NSLayoutConstraint(item: a, attribute: .centerY, relatedBy: .equal, toItem: view, attribute: .centerY, multiplier: 1, constant: 0))

        
        // Do any additional setup after loading the view, typically from a nib.    
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    
    override func viewDidLayoutSubviews() {
        a.setTitle("\(a.frame.width)", for: .normal)
        a.layer.cornerRadius = a.frame.width*0.5
    }

}```

can anyone tell me why the frame would be percieved as 0? keep in mind i am using OAStackView, however, it functions just fine on ios 7+
#

also it works fine in swift 2 as well

#

i'm truly stumped

#

and it's only when it's inside the viewstack

#

It's the 2nd last issue i'm facing

#

i mean realistically it's an easy bypass

#

but it's unexpected behaviour

#

and it's rather annoying

#

i doubt it has to do with unmapping memory

#

actually now that's the only thing left

#

i fixed the other issue

#

now gotta hope and pray i can use swift 3.0.2 easily enough on newer xcode versions

#

if so i can actually get off high sierra

#

fixed it

#

just run layout subviews lmao

#

if needed

#

lets go

#

swift 3.0.2 stable

#

i think

#

gotta push it really hard now

magic hazel
#

well, building with the toolchain fails, but archiving doesn't

#

got chatgpt to make a script to cover up the messy parts

#

will send in a sec along with new repo and the rest of the stuff

#

Has all the binaries, and build files for you

#

Should be EXTREMELY easy to use now

#

Now, time to test on newer Xcode versions

#

After that, writeup time

magic hazel
#

Nope

#

Won't work on Xcode 9+

#

Welp, I guess i'm forced to try and patch swift 3.1 now

#

Shouldn't be appalling hopefully

fading shell
#

<@&355174844205367317>

primal flint
magic hazel
#

going for the big guns today

#

swift 4.0

#

gonna start off just removing bad types and then go in for the big fix

#

objc_allocwithzone

#

if i can get this working, it's highly likely you'll be able to use xcode 12, 13 even 16 to develop applications

#

Swift 4.0 is supported in every version of modern Xcode to my knowledge

#

however the replacements needed to be made are far more intrusive, so i will be recommending you install the open source toolchain and edit it

#

and by more intrusive i just mean you'll be replacing the entire compiler

#

theoretically though swift 4 may work to boot using the previous method so long as you do absolutely nothing even remotely obj c related

magic hazel
#

LMAOOAOAOAOAOAOAOA

#

SWIFT 4 WORKS

#

not fully yet

#

i have to modify t he compiler now

#

but like

#

just swift on its own

#

actually works

#

bro this is so fucking cooked 💀

#

if this compiler fix actually does end up fixing objc_allocwithzone which im 99% sure it will

#

then

#

swift 4.0.2 is gonna be stable and working on ios 6 💀

magic hazel
#

I DID IT

#

HOLY FUCKING SHIT

#

SWIFT 4 FULLY FUNCTIONING

#

OH MY GOD

magic hazel
drifting dust
#

Made a layered icon for Apollo, is there any way to link the resulting .icon file into the apollo IPA so it's dynamic like this?

#

@wide gyro any ideas since you were the one to make the liquid glass patch? I can share the .icon with you if you want, it's a little bit janky in some places, but honestly it looks really good to my eyes even so

#

or sorry actually you didn't make it, my bad, @dankrichtofen on github made/packaged it, but maybe you have some ideas anyway how it could be inserted?

wide gyro
lime pivot
wide gyro
drifting dust
lime pivot
#

sure, I still think it's good to use for consistency if you depend on Cephei for some other thing anyway

#

if you're not in the sandbox you have either option, if you are then the options are limited

#

and I don't like the option of directly reading the NSDictionary because that's slower than using the cfprefsd in-memory cache

magic hazel
#

yikes

#

so for swift 4.0.3 i needed to rewrite the emitobjc call function once

#

not too bad

#

now i've had to completely change it

#

all to try and desperately avoid objc_allocwithzone

echo raptor
#

what are the supported Xcode versions?

magic hazel
#

Rn 9.2

#

And below

#

Working on 4.13

echo raptor
#

ah ic

#

lit

magic hazel
#

swift 4.1.3 works

#

swift 4.2 time

radiant idol
#

@magic hazel I feel like it would be productive for you to try and make a test app that's not just a changing background, perhaps a button that changes the background and changes the text of a label or something

#

something more complicated so you can gague the understanding of how usable the swift patches are

magic hazel
#

There’s a bunch of crash tests running in app delegate

#

Like memory filling and thread tests

radiant idol
#

no I get that

#

I'm saying to do a more comprehensive visual test in order to make sure the APIs still function correctly

magic hazel
#

oh yeah i have

#

there's some oddities

#

really the only thing that's kinda borked is frames

#

but as long as you run view.layoutifneeded

#

then everything works great

#

oh yeah swift 4.2 works lmao

#

disable enable bitcode tho

#

it breaks everything

#

Xcode 26 works!!!

#

Haven't tried armv7 yet

#

Nvm

#

Xcode 26 is being very annoying

#

release with binaries eta

#

i encourage anyone who has the time to try it out

#

It should in theory work on all xcode versions

#

post xcode 8

#

all you need is the open source swift toolchain which is easily accessible on swift's website

#

each folder has a name directing you to put the files where they belong

#

if you have any experience using a toolchain in xcode it should be trivial

magic hazel
#

Xcode 10.1 works on macOS 10.14

#

Maybe 10.15

#

going to try Xcode 11.3.1

#

Did swift stop packaging the Swift library in Swift 5?

#

Whenever they did is the last version I can actually get to work

#

Tho past Swift 4 the codebase HUGELY expands

magic hazel
#

If i get Swift 5 and 6 working there's no real reason why openswiftui wouldn't work

#

It doesn't rely on UIKit at all from what I can see

#

Xcode 11.3.1 works

#

Confirmed

#

Yep so swift 5 is packaged with the ipa

#

If I can actually port that shit might get real

#

OpenSwiftUI for all devices

#

Swift 5 works on iOS 7

#

Awesome

#

So it'll work on iOS 6 probably

#

lol this is actually becoming so crazy

#

Technically yes this is swift 5.1

#

However

#

Wait I j ust realised

#

You can now use Big Sur

#

💀

magic hazel
#

I can confirm swift 4 on iOS 6 is fully production ready and only has minor quirks related to iOS 6 UIKit

#

But I can tell you that this development workflow is substantially more modern than anything that came before it

light owl
#

@native dune wyd wya wtm is it working are you working does she love you yet

magic hazel
#

Swift 5.1 is almost certain to function which is exciting

#

The only issue, is that Xcode handily provides an API limit point for Swift 4.2

#

For minor Swift 5 version's you're not so lucky

#

Understandably

lament mica
#

quick question— can I symbolicate a large spindump (think multiple dylibs) with a bunch of dSYM files in bulk?

magic hazel
#

Time to do Swift 5.1

#

I think my absolute peak maximum I'm going to be able to get working is Swift 5.6.1

#

Xcode 13 is the last version to support an armv7 target

#

Then again, I might be able to just use the open souce toolchain

magic hazel
#

Swift 5 works

magic hazel
floral notch
#

i used to do this before, but i guess thats broken now:

int (*system)(const char *) = dlsym(RTLD_DEFAULT, "system");
magic hazel
floral notch
#

it always returns 0x7f00

#

do i have to load something in from libjailbreak or something

radiant idol
floral notch
#

to run random shell commands like find, ls, killall, etc

radiant idol
#

gotcha, I mean from what I understand nowadays the most common way to do it is to use posix_spawn or NSTask

magic hazel
#

When did Xcode remove armv7

radiant idol
#

system is convenient in that it's just one simple command, but

magic hazel
#

And was it Xcode or the sdk

floral notch
#

ohhh interesting. okay, yeah posix_spawn sounds nice and portable thanks ill try that

radiant idol
magic hazel
#

The swift build script does suoer funk stuff

#

Every time I try and do that it overwrites my changes

radiant idol
radiant idol
magic hazel
#

Swift is held together with tape

#

Especially the build

radiant idol
#

Do you have the link to it? Just curious

#

The build script

magic hazel
#

yep

#

1200 line build script 💀

#

i mean its a toolchain so expected

#

but still

radiant idol
#

I mean we're talking about an entire language and toolchain, so

#

yeah

magic hazel
#

but still

floral notch
magic hazel
#

im sure you can see why its kinda unapproachable

#

also update-checkout is super cooked on the more modern versions

#

im so so happy that apple actually archives their work tho

#

basically every preview version, every dependency has it's own branch, its magical

#

first time ever that someone has actually made a build process logical

#

rather than "erm you figure it out"

radiant idol
radiant idol
magic hazel
#

some modifications

#

bcus modern swift

radiant idol
#

Nice 👍

magic hazel
#

anyways gonna put up the prebuilt binaries now

#

hoping my instructions are fairly simple

radiant idol
#

Make sure you have permission to host them

magic hazel
#

apache license

#

ill note my modifications for all the repos soonish

#

just been too busy on this moving train of version upgrades

radiant idol
#

I hope you're stopping at Swift 5?

#

lol

magic hazel
#

This is Swift 5.1.5

#

Next up is swift 5.10

#

fully modern swift 5

#

then

#

i haevnt looked yet

#

but

#

possibly

#

swift 6

#

cant say anything for sure yet

#

i have to check certain things havent changed

radiant idol
#

I sincerely doubt modern Swift 6 features would work, such as Swift concurrency

magic hazel
#

oh i wouldnt be so sure

#

💀

#

now knowing how swift works better under the hood

radiant idol
#

I mean I'm not sure how Swift concurrency works under the hood, but idk

magic hazel
#

i suspect it is very possible if they havent changed out how core parts of swift work that it will actually work

#

the easiest modifications are just the type ones

#

remove types that dont exist

#

piss easy

#

the hard one was genobjc in irgen

#

that was tough

#

had to rewrite a good portion of it

#

switching munmap to free has in my testing seemingly had 0 consequences

#

which is great

#

did a bunch of memory fill tests they all worked

radiant idol
#

mm

magic hazel
#

you have to use the build script to build tho

#

its super easy to use tho

#

otherwise you're in for pain

#

you can build from xcode asw i think

#

build script also doesnt require a signing id

#

thats kinda an old xcode problem tho

#

i left it in there regardless

#

you can archive from xcode just fine tho

#

thats all the script does

#

xcodebuild doesn't work w a custom toolchain tho

#

only archive

radiant idol
#

I'm just wondering how janky this all is - like do you have issues with autocomplete, etc?

magic hazel
#

none

#

works perfectly

#

you would not notice

#

everything works as if it were native

radiant idol
#

autocomplete may suggest a function or something that doesn't exist in iOS 6 though 🤔

magic hazel
#

well yes

#

not a function

#

every swift function exists

#

then you're worrying about uikit apis

#

thats just normal tho

radiant idol
#

right, that's what I mean

magic hazel
#

then again

#

if i can port swift 6

#

potentially

radiant idol
#

in that case you would have to starrt removing things manually

magic hazel
#

without knowing much about it

#

nah

#

thats not in the swift source rlly

#

its more to do w xcode sdk

#

i mean i could

#

but

radiant idol
#

no yeah I mean for a fully working build process

magic hazel
#

i wont

#

it works fully already

#

just be mindful

#

of what you use

radiant idol
#

🤷‍♂️

magic hazel
#

also if you set target to ios 8 which you can do in xcode 11.3 its basically the same

#

also if you use my swiftcompatkit

#

and uicompatkit

#

you can just ignore all of it

#

conditional compiling

#

just code as you usually would

#

plan is to get openswiftui working asw

#

swiftui on ios 6+

#

idk how much stuff it uses from uikit under the hood but im hoping nothing thats super api constrained

radiant idol
#

well I'm sure not everything is working, idk

magic hazel
#

api wise

#

or swift wise

radiant idol
#

yeah

#

API

magic hazel
#

if you write using ios 6 uikit

#

which

#

is basically modern uikit

#

it works fine

radiant idol
#

🤷‍♂️