Post

Replies

Boosts

Views

Activity

Reply to UIApplication.shared.open iOS 18
I appreciate that Apple engineer answer, but respectfully I don't think that answers the question. Yes, openURL has been deprecated since iOS 10, but the OP (and me) aren't using openURL, we're using open, which is NOT deprecated. Perhaps some clues: The calls to UIApplication.shared.open() aren't showing a deprecation warning. Going to the definition of that function takes me to a protocol in FBSDKCoreKit: /** Internal type exposed to facilitate transition to Swift. API Subject to change or removal without warning. Do not use. @warning INTERNAL - DO NOT USE */ NS_SWIFT_NAME(_InternalURLOpener) @protocol FBSDKInternalURLOpener - (BOOL)canOpenURL:(NSURL *)url; - (BOOL)openURL:(NSURL *)url; - (void) openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenExternalURLOptionsKey, id> *)options completionHandler:(nullable void (^)(BOOL success))completion; @end Is FBSDKCoreKit intercepting these calls and sending them to the deprecated openURL version? A little more googling turns up https://github.com/facebook/facebook-ios-sdk/issues/2205 So it looks like the Facebook SDK is swizzling ALL calls to UIApplication.open and is instead using the deprecated version which no longer works. 🤦
Sep ’24
Reply to XCode15 debugger is working really slow with iOS 17.0.2
The only workaround I've found that works 100% of the time is this: Disconnect iPhone from USB cable if already connected Put iPhone in airplane mode Connect to USB cable and wait for Xcode to finish connecting to it Take iPhone out of airplane mode Apparently Xcode doesn't switch back to wireless debugging after establishing a wired connection so you should be fine for the duration of the session. But ofc if you disconnect the device for any reason (or relaunch Xcode?) then you'll need to repeat this.
Mar ’24
Reply to TextKit 2: edits make duplicate text elements
I think the problem has to do with what's being requested from NSTextContentStorageDelegate.textContentStorage(range). Even though in the performEditingTransaction block I deleted the entire paragraph range and then re-inserted it with the replacement string and longer length, the delegate is getting called twice with two ranges: a range covering the original length before the edit and a smaller range covering only what was added during the edit. But my delegate is returning a full paragraph object for both, resulting in the duplicates. I need the delegate to only get called for the new aggregate range.
Jan ’24
Reply to ITMS-90562: Invalid Bundle with Xcode 13.3 RC
I wouldn't disable Bitcode to work around this. Bitcode allows your app to be recompiled for specific devices and iOS versions which makes the app package as small as possible when users download it from the App Store. Instead do all of this: Remove libswift_Concurrency from all of your targets (Target ⇢ Build Phases ⇢ Link Binary With Libraries) Remove libswift_Concurrency from the Frameworks group in the Project Navigator Remove all Swift concurrency keywords from your sources: @MainActor, async, await, etc According to the release notes this only happens when the app targets <iOS 15, so presumably all of your users weren't getting these features to begin with and you were already branching on availability of iOS 15. If you're like me, you were doing this to get the subscription management screen in iOS 15 but thanks to this Xcode 13.3 regression your users won't get that even on iOS 15.
Mar ’22