MtProtoKit icon indicating copy to clipboard operation
MtProtoKit copied to clipboard

obsolete methods - classes / methods incompatible with ios 13 min target

Open wweevv-johndpope opened this issue 1 year ago • 1 comments

Background https://github.com/TelegramMessenger/Telegram-iOS/issues/829

MTAtomic MTContext MTMetaDisposable MTMessageTransaction MTSignalQueueState MTSubscriber MTRequestInternalId

Screen Shot 2022-09-01 at 9 07 29 am Screen Shot 2022-09-01 at 9 10 21 am

also - switching this flag - "-std=gnu99", doesn't seem to make the Expected ';' at end of declaration list compiler error go away.


objc_library(
    name = "MtProtoKit",
    enable_modules = True,
    module_name = "MtProtoKit",
    srcs = glob([
        "Sources/**/*.m",
        "Sources/**/*.h",
    ]),
    copts = [
        "-Werror",
     "-std=gnu99",
    ],
    hdrs = glob([
        "PublicHeaders/**/*.h",
    ]),
    includes = [
        "PublicHeaders",
    ],
    deps = [
        "//submodules/EncryptionProvider:EncryptionProvider",
    ],
    sdk_frameworks = [
        "Foundation",
        "Security",
        "SystemConfiguration",
        "CFNetwork",
    ],
    sdk_dylibs = [
        "libz",
    ],
    visibility = [
        "//visibility:public",
    ],

)

UPDATE - actually just using

   copts = [
         "-std=gnu99",
    ],

made some errors go away. UPDATE - new errors #include <stdatomic.h>

Screen Shot 2022-09-01 at 9 41 12 am

UPDATE - the expected ';' at end of declaration list error is persisting even though I'm specifying -std=gnu99 in the MTProto copts bazel https://gist.github.com/wweevv-johndpope/703cf760bcc68c9c8918269596d7fb7b

UPDATE - I just use os_unfair_lock _lock; and it gets past error.


@interface MTDisposableSet ()
{
    os_unfair_lock _lock;
...
}

if (OSAtomicCompareAndSwapPtr(block, 0, &_block))

->

if (atomic_compare_exchange_strong_explicit(block, 0, &_block, memory_order_acq_rel, memory_order_acquire))

latest error Screen Shot 2022-09-01 at 10 34 18 am

Errors spilling over from Screen Shot 2022-09-01 at 10 36 59 am

UPDATE

@interface SSignalMulticastSubscribers : NSObject { volatile os_unfair_lock _lock; ... }

changing volatile os_unfair_lock _lock; -> os_unfair_lock _lock; makes above some of the problems go away.

UPDATE Finally compiling - but crashing due to problem below. how to rewrite

// if (atomic_compare_exchange_strong_explicit(block, 0, &_block))

https://github.com/wweevv-johndpope/Telegram-iOS/commit/305829a060bcb89f809c8662924b784f6a1a1839

Screen Shot 2022-09-01 at 10 26 27 pm

wweevv-johndpope avatar Aug 31 '22 23:08 wweevv-johndpope

found some a path to upgrae mtdisposable sbdisposable - https://github.com/TelegramMessenger/Telegram-iOS/issues/829

wweevv-johndpope avatar Sep 01 '22 20:09 wweevv-johndpope