#development

1 messages · Page 244 of 1

magic hazel
#

Being iOS 26 is very problematic tho

#

No company is going that high

#

Not established anyways

radiant idol
#

not yet, maybe in a couple of months

magic hazel
#

I mean think about how long meta supported iOS 12 😭 or even discord

radiant idol
#

well yeah those are the big apps

#

I mean more of the smaller companies

magic hazel
#

thats true

#

still

#

ios 26 adoption isnt great from what ive heard

#

worse than last year

radiant idol
#

¯_(ツ)_/¯

#

unsure

magic hazel
#

plus, isnt it only apple intelligence devices?

radiant idol
#

Hm? no

magic hazel
#

really?

radiant idol
#

oh that

#

I thought you meant iOS 26

magic hazel
#

no

radiant idol
#

Foundation Models is for Apple Intelligence devices yes

magic hazel
#

and thats like

#

iphone 15+

#

which is not a super large subset of users

radiant idol
#

not yet

magic hazel
#

also, pretty much everything it can do, external ai packages can do as well

#

maybe worse syntax

#

but still

#

actually

#

that gives me an idea

radiant idol
#

well it's local, that's the whole shtick

#

it doesnt require any connection

magic hazel
#

i mean sure

#

but so was CoreML

#

how many apps used that

radiant idol
#

no idea

magic hazel
#

Hmmmmmm

#

My stupid adhd brain is telling me "well LLM's can run on nearly any hardware what if you make a package with identical syntax that backports a slightly worse llm to older versions"

radiant idol
#

oh no

magic hazel
#

It can b e done

#

Grrr

#

The API is pretty similar

#

And its pretty small

#

ah it uses swift concurrency

#

yeah i really need to get onto that

#

idk if i can fix that on my own tho

#

Ugh this is ridiculous

#

Why did I have to get obsessed with this

#

Ig it's just super satisfying

#

And it also teaches me that Apple is an ass

radiant idol
#

is it? 😂

magic hazel
#

Yeah

#

You're getting something to work when it never should have

radiant idol
#

I would have gotten so frustrated with it

magic hazel
#

When companies like Apple said it couldn't

#

And it does

#

and it works really, really well

#

and thats me

#

a shitty ahh swift dev

#

imagine what they could have done

#

ive done this in a few weeks of my spare time they couldve done all of this in like fuckall time and way better

#

ive learnt theres NO reason they shoudlnt have

#

theres no downsides

#

they couldve shipped swiftui to ios 12

#

they couldve made uikit recursively update

#

the excuse is always "new hardware features" and shit like that

#

in some cases its true

#

but like with swift, 99% of the time its not the case

#

its just either apple forcing users and devs to upgrade or just being lazy

#

i will always be salty that swiftui was ios 13+

radiant idol
#

well there is stuff like sf symbols which were very integrated into SwiftUI

#

those would always be iOS 13+

magic hazel
#

No

radiant idol
#

Apple's whole idea was to have SwiftUI be very fluid and dynamic, and not being able to use sf symbols would break that whole notion

magic hazel
#

SF Symbols is literally a set of svgs basically

#

It would take 0 effort to just include them as a framework on older versions

#

literally 0

#

im thinking of doing it myself

radiant idol
#

Where are they stored on the filesystem? I'm genuinely curious

magic hazel
#

whoops

#

clipboard been acting up

#

CoreGlyphs

#

SFSymbols.framework

#

its literally a framework

#

😭

radiant idol
#

hmm

#

are they svgs there or what

magic hazel
#

theyre a packed asset.car

#

but inside the .car they're svgs yeah

#

i know this bcus i made a custom sf symbol LMAO

#

and its in my game

#

theyre literally a bunch of svgs

radiant idol
#

ok well the concern with iOS 12 would be that they wouldn't be able to directly inject it into the actual library folder, every SwiftUI app would have had to bundle them in

magic hazel
#

if they can inject a full code runtime

#

they can do a bunch of images

radiant idol
#

mm

magic hazel
#

like come on

#

there is no way

#

in fact

#

i know there isnt

#

watch

#

ill do it

#

itll take me 2 hours tops

#

sf symbols on ios 6

radiant idol
#

ugh

#

😂

magic hazel
#

its bullshit

#

apple is bullshitting us

#

ykw i bet you if they ever accidentally did what they did w sprikit

#

(ios 6+ built, but ios 7)

#

which btw

#

works on ios 6

#

they built for ios 6 accidentally

#

said its ios 7

#

if you include it at runtime from the sdk

#

it works literally perfectly fine

#

yet another bs lie

#

if they did that for swiftui

#

i bet you if you moved sf symbols in as well

#

itd work

#

lmao

#

they couldve done opaque types as well

#

those work fine

#

they were too lazy to make a shim

#

to just

#

patch the system switf libray

#

btw

#

i found out why

#

its ios 12

#

they would have done it if not for ios 12

#

bcus ios 12 is swift 5.0

#

and not 5.1

#

it got completely fucked

#

bcus ios 11 and below uses inbuilt swift into app

#

ios 12 uses the system one

#

instead of literally just

#

patching the system lib

#

they decided nope

#

ios 13+

#

it literally took a SINGLE FUCKING WORD IN THE SOURCE CODE

#

😭

radiant idol
#

maybe they did that so that one day a lone JWI would make it work on older versions

magic hazel
#

LMAO

#

rela

#

nah i hate apple for this

#

even fucking WINDOWS IS BETTER

#

EVEN WINDOWS

#

THATS A REALLY LOW ASS BAR

radiant idol
#

well windows is the king of backwards compat

#

they just never remove anything

magic hazel
#

thats forward compat

#

older apps on newer os

#

and yeah they are

radiant idol
#

right, whatever

magic hazel
#

thats why enterprise uses them

#

and cant leave them

#

theyve had them trapped for decades

radiant idol
#

it's also why the UI for windows is so inconsistent

magic hazel
#

yep

#

this is what i tell everyone tho

#

YOU aren't microsofts main customer

#

enterprise is

#

and always will be

#

enterprise doesnt really give a shit about ui consistency

#

they want their app to work

#

anyways APPLE those shitheads also bsed about concurrency

#

they actually flat out lied

#

its so funny

#

"itll only work on ios 13+, we've worked really hard to get it there but we cant take it lower"

#

meanwhile their port to ios 13+ works PERFECTLY ON IOS 12

#

by perfectly i mean you literally just tell xcode to fuckoff about compat checks and it runs

#

no custom toolchain

#

no recompiling swift

#

nothing

#

stock Xcode

#

they literally just bullshitted

#

i think apple has a vendetta against ios 12

#

everything they do is always ios 13+

#

the funny thing is

#

is apple was never going to take concurrency back to ios 13

#

the community just got so fucking mad

#

that they were forced to

#

and when you look at the effort they put into do it

#

its like

#

literally 5 extra medium sized files, and a few lines changed

#

98% of what was done was kept

#

they very well COULD have done it

#

they just didnt until the devs got pissfuck mad at them

#

and i have a secret belief that apple could have made concurrency a generally available feature

#

custom executors were a proposed feature

#

if they actually got implemented

#

you could very very easily backport it

#

but of course it was ignored

#

and now apples special executor is off hiding god knows where in the source

#

idek if its in there

#

or if its proprietary

#

Would NOT be surprised to find out its the latter

#

Ykw else pisses me off

#

Emojis

#

Why does apple gatekeep them behind new ios releases

#

they could SO easily just have it download after install

#

just download all the new emojis after you're done installing because its a goddamn unicode standard

#

not a fucking special feature

radiant idol
#

because they want people to use newer iOS's and upgrade to newer hardware if they're on obsolete hardware

#

that's the real reason

magic hazel
#

Exactly

#

Shit reason

#

Greedy ahh reason

#

They already do security patches so they're clearly aware of the important stuff that they really should have to do

#

It's just anywhere they could make some more money

#

They don't

radiant idol
#

not really, for any big company it makes much more sense to make people go to latest so the bug reports come from latest and they're able to improve the software

magic hazel
#

They clearly know they have a somewhat large enough chunk of users there to have motivation to do so

radiant idol
#

okay, but do they patch iOS 9 anymore?

#

do they patch iOS 6?

magic hazel
#

iOS 9 is literally archaic though

#

They still STILL sign iOS 6 and 8

#

For users on iPhone 4S's

#

to upgrade

#

STILL

radiant idol
#

we're back to the beginning

magic hazel
#

They STILL do it

#

They know people just use it to get the old versions

radiant idol
magic hazel
#

They could have unsigned it ages ago

#

They don't have to

#

LIke you said

#

They don't update those anymore

#

They're old, they don't have to work

radiant idol
#

¯_(ツ)_/¯

magic hazel
#

Okay what really makes me mad is this

#

Apple supports their old devices

#

They're really good at doing it

#

They're one of the best

#

Why when they do that

#

Can they not just

#

Make it easier to target older versions

#

It takes no effort

#

If a 17 year old dumb ass can make a few modifications in like 4 weeks

radiant idol
#

it hinders the usage of newer APIs

magic hazel
#

Most of new API's would work if you just shipped the framework

#

But instead Apple insists you use the system one

#

Stuff like Metal, understandable

radiant idol
#

app sizes would be huge if that were the case

magic hazel
radiant idol
#

(they're already quite big, but it would be even worse)

magic hazel
#

It's i dont get the app vs i get a big ass app but i still get the app

#

And the best example is swift

radiant idol
#

...and the app might be slower due to the outdated hardware

magic hazel
#

They did it with swift until iOS freaking 12

magic hazel
#

They’re using shit hardware thy know it

radiant idol
#

and Apple cares about the users, they don't want a subpar experience

magic hazel
#

You get what u get

magic hazel
#

iPhone 4S…

#

iOS 9

radiant idol
#

aside from that...

magic hazel
#

iPad

#

A10

#

iOS 18

#

Runs like absolute shit

radiant idol
#

purely there because of organizations

magic hazel
#

It’s genuinely barely usable

magic hazel
#

iPod touch 2 on iOS 4 is arguable bit also a12 iPads on iOS 26

#

iPhone 4 on iOS 7

#

2015 MacBook Air getting Monterey

radiant idol
#

ok fine they generally care about not having a subpar experience

magic hazel
#

Fair enough

#

Still

#

SwiftCrossUI, which is a MUCH slower implementation of SwiftUI, runs very very well on a freaking A5 on iOS 9

#

And that's with very heavy effects and like 50+ views lmao

#

It even uses UIKit to render it 💀

#

Like it is not optimised at all

#

SwiftUI just isn't that heavy

#

I mean okay realistically heres what should have happened

#

and what people thought wouldve happen

#

switfui goes open source

#

it should have happened

#

it still should

#

i dont know why it doesnt

#

yeah it uses apples devices as an assumption

#

doesn't mean the open source community will not 100% jump on and make new backends

#

bcus they definitely will

#

Swift going open source turned out great for apple

#

Swift is better than ever

#

Idk why they refuse to do it with SwiftUI

tepid nacelle
azure pivot
#

can i use theos on rootless?

#

not to build for rootless, building on an actual rootless jb

harsh junco
grim sparrow
magic hazel
#

Haven’t noticed anything unusual

floral notch
#

"The easiest route is to accept that you need to maintain a separate CA store and then you can do this immediately and you can use a TLS library that supports the latest standards and that is well supported. "

#

throwing shade

#

macOS/iOS TLS is fked up apparently, stuck at 1.2, cant upgrade to 1.3

magic hazel
#

I had so many issues

#

Home brew crapped out

orchid fulcrum
#

anybody knows how audio is done on safari/webcontent tabs ? when i debug the tabs (com.apple.webkit.webcontent process') all they have is audiotoolbox without anything higher level. When i debug safari it has some higher level stuff like AVF but i don't think they are related to the tabs, i can also see some logs about HTMLMediaElements which seem to be what i am looking for, but since they are javascript objects i can't seem to find a way to interact with them via debugging the process. any help is welcome

wooden yarrow
#

just look around in webkit i guess

magic hazel
orchid fulcrum
wooden yarrow
orchid fulcrum
#

i wouldn't say that ..

#

still need to find a way to run the js on the tabs

#

which is kinda what i was asking in the first place

cloud yacht
hasty ruin
orchid fulcrum
#

ik about evaluateJavascript but i need to make it so i can do it for each tabs wkwebview individually, rather than all of them.

hm, i think i can use their url to identify tabs tho that might work

hasty ruin
#

do you just need to check if it's the current tab?

#

if so you should be able to check
<the BrowserRootViewController instance>.webView.URL

cloud yacht
#

webshade checks URL's for its options (it has per site options)

#

I'm not very familar with how the browser stuff all works, I haven't touched webshade in 3 years

hasty ruin
#

oh yeah same, these two things i've posted are like the only times i've ever worked with safari lmao

marble folio
#

I need a bit of help with my app. Basically to make it simple, the app is a simple of the iPhone stock reminder app. User inputs whatever they want, date and time, then notification pops up at that preferred date and time. However, it leaves a notification badge, regardless when I click on the notification banner, it doesn’t get rid of the notification badge at home screen so I manually made a button that you press to clear the badge. What’s a better solution than a manual button?

#

Tbh, I know ChatGPT or Claude on Xcode would give a solution but sorta wanna hear people’s advise and solution

#

So I can just learn from it(?)

cedar stag
orchid fulcrum
grim sparrow
# marble folio I need a bit of help with my app. Basically to make it simple, the app is a simp...

https://developer.apple.com/documentation/uikit/uiscenedelegate/scenewillenterforeground(_:)
When user opens the app.

I personally wouldn't use viewDidLoad because that would only run when the app starts cold. If it launches from the backend then the view will already be loaded

Apple Developer Documentation

Tells the delegate that the scene is about to begin running in the foreground and become visible to the user.

marble folio
#

“In addition to calling this method, UIKit posts a didActivateNotification and a willEnterForegroundNotification.” Very nice

#

Thank you thank you

grim sparrow
#

True, wasn't sure if you were UIApplicationDelegate or UISceneDelegate. You should probably switch over soon though, UISceneDelegate will be required for iOS 27

marble folio
#

I forgot I have to dynamically update the counter because I could in theory just reset the badge to 0

floral notch
#

the guy that made it cant even invert a binary tree on a whiteboard

#

damn 10 years ago im old

magic hazel
#

crazy

marble folio
#

Idk how I've achieved this but the wallpaper is acc lowkey cool hahaha

magic hazel
#

@radiant idol I'm backporting more stuff now

OpenCombine works so thats done for me
URLSession + all types
URLSession websockets (socketrocket wrapper)

#

"FoundationCompatKit"

#

websocket stuff is yet again useful for all ios versions so is opencombine which is neat

#

YOOO

#

I FIXED THE TYPE THING

#

if you drag a file at runtime

#

with this

#
import Foundation

#if canImport(FoundationCompatKit)
import FoundationCompatKit

public typealias URLSession = FoundationCompatKit.URLSession
public typealias URLSessionDataTask = FoundationCompatKit.URLSessionDataTask
public typealias URLSessionConfiguration = FoundationCompatKit.URLSessionConfiguration
public typealias URLSessionDownloadTask = FoundationCompatKit.URLSessionDownloadTask
public typealias URLSessionWebSocketTask = FoundationCompatKit.URLSessionWebSocketTask

#endif

#if canImport(UIKitCompatKit)
import UIKitCompatKit
#endif



#

shit just works

#

doesnt get confused anymore

#

🔥

#

it ALWAYS prefers your types

#

W

#

ts getting better and better

#

type aliasing a type alias is wild

#

public typealias UIStackView = UIKitCompatKit.UIStackView

#

W it works lets go

#

you can now write this

#

private var stackView: UIStackView!

#

ima make a giant file

#

with every type alias

#

so now you gotta do EVEN LESS WORK

#

to backport shi

rocky oriole
#

ok

magic hazel
#

holy moly that was a lot of work

#

backported pretty much all of urlsession

#
import Foundation

public class URLSessionDownloadTaskCompat: URLSessionTaskCompat, NSURLConnectionDataDelegate, NSURLConnectionDelegate {
    private let completionHandler: (URL?, URLResponse?, Error?) -> Void
    private var connection: NSURLConnection?
    private var tempFile: URL?
    private var fileHandle: FileHandle?

    public init(session: URLSessionCompat, request: URLRequest, completionHandler: @escaping (URL?, URLResponse?, Error?) -> Void) {
        self.completionHandler = completionHandler
        super.init(session: session, request: request)
    }

    public override func startTask() {
        guard state == .running else { return }

        let tempDir = NSTemporaryDirectory()
        let fileName = UUID().uuidString
        tempFile = URL(fileURLWithPath: tempDir).appendingPathComponent(fileName)
        FileManager.default.createFile(atPath: tempFile!.path, contents: nil, attributes: nil)
        fileHandle = try? FileHandle(forWritingTo: tempFile!)

        connection = NSURLConnection(request: originalRequest, delegate: self, startImmediately: true)
    }

    public override func cancel() {
        super.cancel()
        connection?.cancel()
        if let tempFile = tempFile {
            try? FileManager.default.removeItem(at: tempFile)
        }
    }

    // MARK: - NSURLConnectionDataDelegate

    public func connection(_ connection: NSURLConnection, didReceive response: URLResponse) {
        // Delegate can handle response if needed
    }

    public func connection(_ connection: NSURLConnection, didReceive data: Data) {
        fileHandle?.seekToEndOfFile()
        fileHandle?.write(data)

        if let delegate = session.delegate as? URLSessionDownloadDelegateCompat {
            delegate.urlSession(session, downloadTask: self,
                                didWriteData: Int64(data.count),
                                totalBytesWritten: Int64(fileHandle?.offsetInFile ?? 0),
                                totalBytesExpectedToWrite: -1) // unknown length
        }
    }

    public func connectionDidFinishLoading(_ connection: NSURLConnection) {
        fileHandle?.closeFile()
        let response: URLResponse? = connection.currentRequest.url.flatMap {
            URLResponse(url: $0, mimeType: nil, expectedContentLength: -1, textEncodingName: nil)
        }
        completionHandler(tempFile, response, nil)

        if let delegate = session.delegate as? URLSessionDownloadDelegateCompat, let tempFile = tempFile {
            delegate.urlSession(session, downloadTask: self, didFinishDownloadingTo: tempFile)
        }

        finishTask()
    }

    public func connection(_ connection: NSURLConnection, didFailWithError error: Error) {
        fileHandle?.closeFile()
        let response: URLResponse? = connection.currentRequest.url.flatMap {
            URLResponse(url: $0, mimeType: nil, expectedContentLength: -1, textEncodingName: nil)
        }
        completionHandler(nil, response, error)
        finishTask(with: error)
    }
}
#

one of the backports

#

im fairly sure i fucked up som eparts

#

i had to use gpt extensively to cleanup my objc errors

#

i am NOT good with objc stuff in swift

#

im okay w objc on its own

#

and swift on its own

#

not great when mixing

magic hazel
#

Now the big boy

#

DispatchQoS

#

I'm cooked

#

Ngl chatgpt is gonna handle the objc side bcus i aint know the syntax

hexed knot
#

Alright

magic hazel
#

Grr its not working

#

i think swift is getting confused

light owl
#

Okay

magic hazel
#

i give up

magic hazel
#

made a 2 part guide

#

rate the ease of understanding

#

lmk of any changes you'd make

hollow oar
grim sparrow
magic hazel
#

Happy to be informed

grim sparrow
#

I don't think this is a very documented process, or well documented, but you can put templates in /Applications/Xcode-26.0.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project\ Templates/iOS/

#

and theres a lot of examples there to copy from

magic hazel
#

I see

#

I’ll take a look and see how much of the process can be automated

grim sparrow
#

and they show up here

magic hazel
#

The other thing is I would rather people not go into Xcode itself as Ive seen so many screw up

#

So I’d make a script to out it there instead

#

Tried to automate the tool chain patching process but it’s too complex for my scripting

grim sparrow
magic hazel
#

I’d also have to make one per Xcode version so I’ll keep current instructions

#

And maybe add some templates for the big ones

#

Is it even allowed to do

grim sparrow
#

yes

#

and theyre not version specific

magic hazel
#

And different build setup as well

grim sparrow
#

too diff that you couldn't use the variables you get in a template?

magic hazel
#

Sometimes yeah

#

Happens whne you mismatch toolchain too much

#

I’ll test

#

We’ll see

magic hazel
#

everything is split off

magic hazel
#

This is so hard wtf

#

found someone elses that ill modify instead

magic hazel
#

@grim sparrow after absolute pain my god the templates are actually cooked they're the worst thing i think apple has made in a long ass time i made a template set that actually functions

#

ios 7 as base target no bs storyboards

#

time to add a command to install automagically

#

now ima do everything in a pkg

#

so no more manually copying files

magic hazel
#

Done

#

Thoughts?

clear lichen
#

How tf to get ur tweak on a repo

magic hazel
#

Google

#

Also you could ask AI

#

Very simple setup

clear lichen
#

No I mean to like havoc

#

Like that

magic hazel
#

No you won’t be able to do that

#

But you can host on your own repo

#

Havoc only accepts a certain standard of tweaks iirc

clear lichen
magic hazel
clear lichen
magic hazel
#

I got it from my Swift iOS 6 stuff

clear lichen
magic hazel
#

I mean

#

Ig?

clear lichen
#

Is ur tweak on ur own repo

magic hazel
#

I have a tweak on a repo yes

tepid olive
magic hazel
clear lichen
#

My tweak is like whenever u click the clock it changes to m:s and it goes back to h:m after u click it again or automatically (change in settings timings)

magic hazel
#

Cool

#

Setup a repo on GitHub pages

clear lichen
magic hazel
#

Not even close

#

You’d need a properly fleshed out product iirc

#

Ask more experienced tweak devs

#

I’m mainly a legacy iOS developer

clear lichen
#

It’s for iPhone 6 type shit

magic hazel
#

lmao

clear lichen
magic hazel
#

The scope of the tweak just needs to be large

#

And polished

#

And well thought out

clear lichen
#

I mean yo it’s a good idea

#

I genuinely only use my iPhone 6 for a clock to see the exact time it hits for the bell to ring

magic hazel
#

I mean if ur finding use in ur own tweak that’s always good

clear lichen
magic hazel
#

Bigger more polished, probably you’d need a couple as well

#

Nice repertoire of tweaks and projects

clear lichen
magic hazel
#

that’s up to you man ¯_(ツ)_/¯

clear lichen
#

It’s for non notch iPhones btw

#

Is there any for tha

magic hazel
#

Couldn’t tell you

clear lichen
magic hazel
#

Yes

#

I make legacy applications

#

Not tweaks

clear lichen
#

Alr

clear lichen
magic hazel
#

No

clear lichen
#

What happened to the on LC devs were making

magic hazel
#

I never heard of any legitimate 32 bit emulator ¯_(ツ)_/¯

#

To my knowledge the work required to have something like that is near impossible

clear lichen
#

To run ipa

magic hazel
#

Not to mention fairly useless and unstable at best

clear lichen
clear lichen
magic hazel
#

Idk who lc is

#

You can always just use an older device

clear lichen
#

@magic hazel some guy told me he’ll pay me 70 dollars to get flappy bird on iOS 11+

clear lichen
magic hazel
#

No need to ping me, I’m in the channel

magic hazel
clear lichen
#

My bad bad habit

magic hazel
#

The work required would be immense

clear lichen
#

I mean I want cotmz too

magic hazel
#

Gl

clear lichen
#

Idk

clear lichen
#

To turn it 32 to 64

magic hazel
#

Not “fixed” you’d need to get a working version of the source code through decompiling which would not even probably be possible but you could try

#

Or just

#

Use a clone

#

lol

clear lichen
#

Dawg it’s flappy bird

magic hazel
#

Yes..?

#

It’s an application like any other

clear lichen
#

Nvm

clear lichen
magic hazel
#

Now you just compile it

#

lol

#

Easy peasy

#

Should be very straightforward

light owl
#

Messed up

magic hazel
#

It’s a simple tweak

#

It does one thing

#

I thought that havoc had guidelines

#

Maybe I was wrong about that

clear lichen
#

Of course all fucking tweaks do one shit

#

iPhone X gestures on iOS 12 does one fucking thing

#

That’s why we’re allowed to install more tweaks

magic hazel
#

Yes but it’s slightly more complex than a simple injection into the status bar

#

I mean you can always try!

clear lichen
#

xD

#

I’m going to make the best fucking tweak ever

#

Why?

magic hazel
#

Go for it

clear lichen
#

Because it’s designed how stock iOS

#

@magic hazel you’re going to see my fade in animations and iOS 27 is going to copy it

#

Watch.

#

Because you may know me as jay right now but on the desc you’re going to why I have my father last name

light owl
#

Because you may know me as jay right now but on the desc you’re going to why I have my father last name

marble folio
#

How does one achieve developer role? 🤔

magic hazel
#

I explained

#

(Other devs step in if I’m wrong)

marble folio
#

Hahaha went back to this

#

But fair enough, tyyy @magic hazel

magic hazel
#

Np glad back reading helped

radiant idol
reef trail
#

or if you want it on a big repo just signup to their developer page

clear lichen
radiant idol
grim sparrow
magic hazel
clear lichen
#

Yeah it’ll but free of course

radiant idol
#

Gotcha, well then good luck, seems like a wonderful free tweak

#

If I were you I would open source it as well

quaint rain
#

Yeah it does

magic hazel
#

lmao

clear lichen
#

Hey everyone TapSeconds is delayed until I get my New PC Done,

#

ETA:1-3 Days

clear lichen
quaint rain
faint lionBOT
#
Gushi ColorStatusbar8_Juice_Callassist_NiceBar

An awesome battery by GuShi.

Author

Gushi

Version

1.2

Price

Free

Bundle ID

com.yourepo.soda-ldz.gushicolorstatusbar8juicecallassistnicebar

quaint rain
#

Fuck is this

#

[[nicebarx]]

faint lionBOT
#
NiceBarX(iOS11-12 免费)

[免费]仅支持iOS11-12

Author

niceios

Version

3.0.0.5-20

Price

Free

Repo
Bundle ID

com.niceios.nicebarx

clear lichen
#

does anyone know when _UIStatusBarStringView was remove and introduced

quaint rain
clear lichen
#

Hey is there any genius for spanish

#

wrong channgel;

magic hazel
#

@radiant idol gonna backport sf symbols

magic hazel
#

First

#

It’ll be sf symbols 7

#

So it’s useful to all iOS versions

#

And second

#

Bcus modern ui requires modern symbols

#

Plus they’re cool and useful

#

Should be a self contained package like everything else

radiant idol
#

Have fun

magic hazel
#

I've gotten most as PDF

#

now i need to make them scalable

#

and handle rendering

#

etc

radiant idol
#

Gotchu

magic hazel
#

grrr

#

ios 6 and 7 dont natively support resizable pdfs

#

time to go searching for a solution

#

grr i hate when this happens

#

i have to fork a bunch of projs and modify their pkg.swift

#

grrrrrrrrr

magic hazel
#

istg iosurface is the most cooked thing ever

#

it's like the base of so many jbs

#

imagine being apple and having ppl use your internal framework for decades to create objs to do k r/w

#

crazy

light owl
#

istg iosurface is the most cooked thing ever
it's like the base of so many jbs
imagine being apple and having ppl use your internal framework for decades to create objs to do k r/w
crazy

magic hazel
#

FINALLY

#

got something to render svgs

#

now to get onto backporting

#
poll_question_text

If I replicated modern UIKit's API's, as well as the iOS 7+ design language, and made it so that the effort required to add support to your UIKit applications would literally be to download Xcode 13.4.1, add my packages to your app and changes a couple of lines of code to target iOS 6+, would you?

victor_answer_votes

2

total_votes

2

victor_answer_id

2

victor_answer_text

No

gentle grove
#

bro made a poll

magic hazel
#

doing every weight is a pain

#

ermm okay i might have a solution but realistically i dont know if its a solution thats actually deployable

#

💀

#

bcus it involves you having 62 thousand svgs

magic hazel
#

nvm thats just gonna be what itll be

#

itll take a bit to build and a bit to clone but

#

thats the best i can do on ios 6-8

#

you can't read directly from zips

#

grrr its so slow

magic hazel
#

does anyon eknow if you can make your own assets.car

#

and load files from it like apple does

#

nvm

#

they dont support svgs

#

damn k

#

so i guess i relaly do just either

#

only provide .regular

#

or i literally have 62k svgs

#

and youll have to just deal w it

#

😭

#

80mb

#

of svgs

#

anyone have any ideas

#

i mean

#

technically

#

i could host them

#

and fetch ota

#

but like thats a shitty ahh solution

grim sparrow
magic hazel
#

it has to copy the files over when building regardless

grim sparrow
#

ok then just make the user copy the symbols the way you're supposed to backport them

#

like

#

ur options are either:
A: Do it the current way
B: Don't do it the current way

#

both have ups and downs

magic hazel
#

issue is i dont see any other way of doing it

#

its fine bcus i need to do testing to even get shit working first

#

swiftsvg is a pain

vivid dew
#

meow

grim sparrow
#

well the current way is just copying symbols into your assets.car from sf symbols

magic hazel
#

no

#

the current way is

#

i extracted every svg from the sfsymbols app

#

i put it into a swift package

#

and reference them via swiftsvg

#

and a wrapper

#

to replicate sfsymbols api

#

so that u can use proper sfsymbols with real scaling rather than xcode being garbage and not supporting vector graphics on anything but ios 11+

#

assets.car doesn't support svgs

grim sparrow
#

even today svg's are just converted to pngs at compile time

magic hazel
#

what are sfsymbols at runtime

grim sparrow
#

A fantastic example of Apple using private api's in the background

magic hazel
#

grrr

#

well apple can get fucked L apple

#

im backporting this one way or another

grim sparrow
#

whats the purpose of all this work anyway

#

like

#

for the 7 daily active users of these devices so its not viable for anyone to still develop for these platforms

magic hazel
#

i mean sfsymbols 7 on every ios version is kinda useful

grim sparrow
#

i mean

#

like

#

backporting to ios 6 and whatever

magic hazel
#

well

#

im backporting t

#

full stop

#

and

#

i happen to be able

#

to backport to ios 6 as well

#

also

#

theres actually about

#

1400

#

users

#

ish

#

from bluetweety data at least

#

nvm

#

a lot more

#

if im reading this right thats more like

#

2.4k ish?

#

users

grim sparrow
#

but versus the few hundred million on ios 18/26

magic hazel
#

well yeah sure but lets talk percentages

#

percentages of people who will benefit from this in that community

#

about 90%

#

percentage of me doing something like this for ios 18/26

#

less than a percent

#

less than a percent of a percent

#

and so on and so forth

#

plus, the aim of the game here is to be able to

  1. let devs if they want to include ios 6+ support
  2. if they dont want to ill do it for them
#

ive already done it with a bunch of pretty large pkgs

grim sparrow
#

0.01% of 300,000,000 is still more than 90% of 2.4k

magic hazel
#

basically nobody will use my packages on modern ios

#

why would they

#

what even is there to do

grim sparrow
#

no but the point is you're working on something for very little users

magic hazel
#

everything is up to date and working

#

well yeah

#

but like

grim sparrow
#

as opposed to working on something else that could be used by a lot more people

magic hazel
#

you could say the same about jbs and exploits for those versions

#

and they're a whole lot more work

grim sparrow
#

its cool and neat, but i just struggle to see the whole why thing

magic hazel
# grim sparrow its cool and neat, but i just struggle to see the whole why thing
  1. its cool
  2. i can
  3. it means im making smthing that will actually be used. modern ios package standard is absolutely insane. shit is crazy
  4. its unique
  5. its fun
  6. i get to give apple the middle finger over and over for every feature they said "cant do it on older ios"
  7. i (hopefully) actually see the product of my labours when ppl use it
  8. its good for learning programming skills, compiler knowledge, problem solving etc
  9. i like doing it
grim sparrow
#

for every feature they said "cant do it on older ios"
This is the only one I don't think you can take. They don't backport shit because it doesn't make economic sense to

magic hazel
#

they backport shit all the time

#

they backported arc ffs

#

if they can backport fucking arc

#

to older ios

#

they can backport a pack of svgs

grim sparrow
#

arc is compile time-

#

assets that dont exist on disk are not compile time-

magic hazel
#

also

#

they had to write a backport for it

grim sparrow
magic hazel
#

do it for you

#

but thats like one thing

#

debatable

#

swift on ios 6 shouldve been supported

#

it was for 3 betas

#

never shouldve dropped until ios 7 was dropped

#

apple could have and should have

#

if they dropped ios 6 altogether

#

id understandbut they didnt

#

they allowed objc builds

#

it was only swift

#

and there is no good reason why at bare minimum swift 2.3 shouldnt have been supported

#

it was native

#

freaking info.plist change

#

literal 0 effort

#

😭

#

even my compiler modifications i as an unexperienced dumb ahh did those in like

#

3 weeks?

#

proper swift engineer couldve done in what

#

a day?

#

i am also of the opinion apple is dumb for using system frameworks

#

and not shipping up to date ones

#

like uikit

#

and swiftui

#

the frameworks are tiny

#

like 10mb for both ish

#

for swift targets you literally already ship the runtime so i dont see the issue i mean nearly every other os other than apple os already does this

#

either they allow updating frameworks on the same os

#

or they just ship w the app

grim sparrow
#

finding info on this is so difficult because any serach that includes swift and 6 just talks about what is new in Swift 6

magic hazel
#

yep

#

theres none

#

literally none

#

theres nothing online

#

i have searched and searched

#

nobody talks about it

#

nobody said why

#

MAYBE

#

somewhere

#

deep in the swift repo

#

there could be a commit

#

mentioning it

#

but itd be all the way back at swift 1

#

when it was initially removed

#

ill clone repo and have a search

grim sparrow
#

lol

#

i just saw ur pr

#

into swift 5.10

magic hazel
#

LMAO

grim sparrow
#

why tf did you remove all the tests

magic hazel
#

they break build

#

😭

#

not ios 6 based

#

just

#

any build

#

whatsover

#

swift doesnt tell you what xcode u should use

#

so u just have to guess

grim sparrow
#

oh.

#

the docs tell you which compiler was used for each version of swift.

magic hazel
#

they do but i can only use a max of xcode 13.4.1

#

bcus apple was annoying and removed armv7

#

idk why they removed it ngl

#

like

#

i get saying

#

"pls dont use"

#

but why remove

#

why hardcode it

#

if im supplying my own toolchain

#

let me do whatever i want

#

dont just say "erm no you can't even tho ur compiler says yes"

grim sparrow
#

you can't just delete tests because they don't work with your patches though

#

😭

magic hazel
#

i mean

#

for a merge pr?

#

no

#

for building and using in xcode?

#

sure can

#

bcus

grim sparrow
#

but you made the pr

magic hazel
#

all i do is update the changed files

#

they were never going to merge

grim sparrow
#

and then stopped when a dude called you a moron

magic hazel
#

it was so ppl could see

#

the fact you found it means its done its job

grim sparrow
#

I found it because im trying to find exact references to ios 6

magic hazel
#

yes

grim sparrow
#

nobody else would be doing that daily

magic hazel
#

which there were none before

#

i mean realistically

#

its not even latest swift

#

they dont merge prs for outdated swift

#

as the guy said

grim sparrow
#

I can assure you no Swift dev is sitting down at the office and going "hmm I wonder if we should backport from iOS 15 to iOS 6, lemme see if theres a PR to do this"

magic hazel
#

no

#

but to think theres only one person like me who would want to run ios 6 swift

#

is probably wrong

#

theres a lot of ppl in the world

#

idk

#

just seemed like something i could do

#

so i did

#

even if i really spent hard time doing it properly

#

it never wouldve been merged

#

it adds back armv7 ffs

#

they're NEVER merging in something that adds back armv7

#

bcus xcode doesnt support armv7

#

grr why is swift repo so large

#

it really ballooned

#

it was a good size for ages

#

and then it got giant

magic hazel
#

far more likely

#

keep in mind this isnt for ios 6 only

#

this is the only fork that does all versions 6-12

grim sparrow
magic hazel
#

this isnt rlly aimed at business tho

#

😭

#

what business is using some kids custom toolchain

#

the other thing is the main reason i even tried to start is i just dislike objective c for many reasons its just a personal preference and i also know a decent chunk of aspiring legacy devs dont start bcus of objective c, its old, requires a bunch of stuff so u can get an ancient dev env setup, tutorials are old software is old etc, not very well documented anymore bcus its all on apple archives and swift is main lang

#

swift being open source gives me the option to take matters into my own hands

#

and the very reason this wasn't done before is bcus of ppl thinking "why bother"

#

i mean swift 2.3 literally is native support

#

info.plist change

#

no effort

#

nobody tries

#

or even did try

#

when it was relevant

#

3de8ec3bca8 Sema: Consider availability of conforming type when diagnosing protocol witness availability

#

this is all i can see?

grim sparrow
#

we need someone to leak this radar

magic hazel
#

so

#

why

#

send commit?

#

or link

grim sparrow
#
GitHub

…r earlier) as unavailable.

This patch takes care that synthesized initializers are created
when overriding unavailable initializers (thanks Doug).

Swift SVN r19202

#

1 week apart

magic hazel
#

did they literally just give no reason?

grim sparrow
#

well.

#

there are commits above

#

disabling jit on macOS 10.8

#

because of memory leaks

magic hazel
#

i mean sure

grim sparrow
#

i'm trying to figure out why

magic hazel
#

WAIT

#

IS THAT ALL THAT STOPS ME

#

A SINGLE FILE

#

HEHEHE

#

time to rebuild swift

grim sparrow
#

oh.

#

no

#

dude

#

i found the reason

magic hazel
#

send

#

wonder if ive already fixed it

#

lmao

grim sparrow
magic hazel
#

is it atomic_store

#

oh yeah

#

that

#

i patched that

grim sparrow
#

did you revert it to the old behaviour?

magic hazel
#

nah i just stole the patch from newer swift

#

they patched that

#

to work

#

😭

#

they added availability checks n shit

#

that doesnt even do jackshit btw

#

maybe on osx

#

not on ios

#

swift 2.3 as i said still works natively

grim sparrow
#

i honestly just think shit wasn't working and under time crunch they just bumped their min targets

magic hazel
#

ig

#

maybe

#

what they did

#

is osx was cooked

grim sparrow
#

and by the time they had to time to go back and fix it, it didn't matter

magic hazel
#

so they just did both

#

bcus ios 6 and 7 are REALLY similar

#

osx 10.8 and 10.9 are NOT

#

10.9 was like the first modern macos

#

it was supported by swift long after ios 7 was dropped

grim sparrow
#

from reading more and more commits referencing the change in target I think I'm gonna stick with the theory of time crunch

magic hazel
#

so i was right they could have but didnt

#

grrr

#

why time crunch

#

apple shouldve given more time

grim sparrow
magic hazel
#

i mean

#

heres the issu

#

i patched it

#

it works

#

theres nothing you can do thats not concurrency

#

that wont work

#

lang wise

#

ive tested it all

grim sparrow
#

but hear me out

#

you've patched

#

it

#

10 years later

magic hazel
#

i mean yes

#

but like

#

they made the lang

#

i didnt know shit about it

#

going into it

grim sparrow
#

have you tested this on macOS 10.8

magic hazel
#

no, i haven't

#

would be interesting to tho

#

idk if my patches are enough to fix 10.8

#

idk if i should try w swift 1

#

ill see

#

istg if osx10.8 was the reason they just cooked ios 6

#

grr

#

makes no sense if so bcus they supported osx10.9 for basically a decade

#

kinda crazy

#

ngl what i hate most is no control

#

you cant tell compiler to shut up

#

i can ignore warnings and even errors on like every other compiler but not with xcode

#

aw man i literally am going to have to recompile all of swift if i want to allow native ios 6 build targets

#

its in frontend.cpp

#

😭

#

wait

#

i can just return on diag

#

nvm its not there anymore

#

found it

#

LMAO you can unblock 32 bit builds for ios 11

#

LOL

#

oh dear god

#

i have to recompile llvm

#

and then redo all the toolchains

#

and grrrrrrrrrrr

#

and there is always the chance

#

that this breaks more

#

bcus xcode tries and targets ios 6

grim sparrow
#

and dont forget that every framework you're trying to link against only has a 64bit slice

magic hazel
#

nah

#

i meant

#

you could unblock in the same place

#

you would never be able to do it

#

grrr

#

if only xcode was this easy to fool

#

can you binary patch xcode?

grim sparrow
#

like

#

change the versions it thinks it can compile for?

magic hazel
#

no

#

armv7

grim sparrow
magic hazel
#

theres no reason xcode couldnt compile for armv7

#

my toolchain has every slice

grim sparrow
#

apps that are made with an xcode that isn't signed by apple can't be distributed

magic hazel
#

sure

#

but

grim sparrow
#

because of a whole thing years ago where some chinese group put spyware in a build of xcode

#

crazy tiems