SwiftUI: App Store Connect Operation Error itms-90476 - ios

I work on Xcode 12.1 with SwiftUI
When I send my App (archive) the following error occurs:
ERROR ITMS-90476: "Invalid Bundle. Your app supports Multitasking on iPad, so you must include the launch storyboard file, '...', in your bundle, '...'. Learn more ( https://developer.apple.com/documentation/uikit/uitraitcollection )."
How can I fix this? I want iPhone and iPad support.

Apple has a “Adapt multitasking enhancements on iPad” guide
https://developer.apple.com/library/archive/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/QuickStartForSlideOverAndSplitView.html
Also, I’m pretty sure there are some WWDC videos and some sample code.
https://developer.apple.com/documentation/uikit/uiscenedelegate/supporting_multiple_windows_on_ipad

Related

Can't install app on iOS 12 after adding lockscreen widget with Xcode 14

I'm struggling with widget extension configuration for an App which supports iOS 12-iOS 16 versions, and containing today widget, home screen widget, Lock Screen widget and Apple Watch extension.
It's fully functional on iOS 14-15-16 devices (I followed Apple WWDC 22 video : Widgets Reloaded), but users running iOS 12 for example, they can't install the app. The App Store let them download the app, but at installation, it fails every time. I manage to reproduce on iOS 12.3 simulator, with the current error. I understand that the NSExtension does not exist on iOS 12, but I can't found a way to remove the new iOS 16 lockscreen widget extension for old firmwares.
This app could not be installed at this time.
Domain: IXUserPresentableErrorDomain
Code: 1
Failure Reason: Appex bundle at /Users/XXX/Library/Developer/CoreSimulator/Devices/XXXXX-D905-49CF-BD5F-EF2CDCF23F0E/data/Library/Caches/com.apple.mobile.installd.staging/temp.TMGGEs/extracted/Dev-XXX.app/Watch/Watch.app/PlugIns/XXComplicationExtension.appex
with id com.XXXXX.dev.watchkitapp.watchkitextensioncomplication specifies a value (com.apple.widgetkit-extension) for the NSExtensionPointIdentifier key in the NSExtension dictionary in its Info.plist that does not correspond to a known extension point.
Any ideas? I can just add or remove the XXComplicationExtension.appex in the watch app target, no option like for frameworks to make it optional.

iOS extension "Failed to find a valid app with bundleID" & "Error was encountered trying to find service extension"

We have an extension in our iOS project (Broadcast Upload Extension). The extension works well when doing local builds, however whenever we do a TestFlight build a distribute it we encounter following exception (found in device logs):
Error getting proxy for beta app with bundleID
com.foo.bar.screenshareextension: Error
Domain=ASDTestFlightFeedbackErrorDomain Code=5 "Failed to find a valid
app with bundleID com.foo.bar.screenshareextension"
UserInfo={NSDebugDescription=Failed to find a valid app with bundleID
com.foo.bar.screenshareextension}
one more error lists:
[com.foo.bar] Error was encountered trying to find service extension:
error=Error Domain=UNErrorDomain Code=1904 "Unknown application"
UserInfo={NSLocalizedDescription=Unknown application}
the bundle IDs are set correctly (meaning the container app has "com.foo.bar" bundle id while the extension has com.foo.bar.extensionname".
The extension is referenced through
var bundleUrl = NSBundle.MainBundle.GetUrlForResource("Foo.iOS.ScreenShareExtension", "appex", "PlugIns");
I can confirm actually that the extension appex file is physically in the archived file for distribution.
The only difference is that the min OS version is set differently in the container app & in the app extension. However when doing local builds this doesn't seem to matter.
What could be the reason for not being able to target the extension? (seems like it's missing?)
ps: we are using Xamarin.Forms
Not sure if this helps: I encountered a similar error today, the reason is that the default build target of the notification extension is 13.6(the latest OS), while my testing device is in 13.5. After I changed the build target, everything works fine.
I've got same error with native Swift code on iPhone 6 (12.4.8).
I'm still not sure what causes this bug, but for me it fixes only by changing device. On iPhone 8 (13.6) the absolutely same code works just fine, rebuilding for iPhone 6 and it's not even trying.

Xamarin.iOS app crashes on startup on iOS13 on Testflight

I have tested the application on Testflight and as soon as I open it everything works correctly. The problem comes when I close the app and open it again, at that moment the application crashed and does not let me open it anymore.
I am testing on my iphone 6s with iOS 13.1.3.
Can anyone help me, please?
The App Center SDKs work well for capturing crash information. You can then see it in the App Center Portal
I have already added AppCenter to the project, and now I can see the analytics, but it doesn't catch me crash error.
About the configuration of AppCenter, I have added to the AppDelegate.cs (FinishedLaunching)
AppCenter.Start("bxxxxxxxxxxxxxxxxxxxxxxxxxxx3a0",
typeof(Analytics), typeof(Crashes));
Crashes.NotifyUserConfirmation(UserConfirmation.AlwaysSend);
Crashes.SetEnabledAsync(true);
And to the App.xaml.cs
AppCenter.LogLevel = LogLevel.Verbose;
AppCenter.Start("ios=b41cxxxxxxxxxxxxxxxxxxxxxxxxxx0;" +
"uwp={Your UWP App secret here};" +
"android={Your Android App secret here}",
typeof(Analytics), typeof(Crashes));
Crashes.NotifyUserConfirmation(UserConfirmation.AlwaysSend);
I test the Crashes.GenerateTestCrash on the simulator and It works, but exaclty the iPhone crash no

opentok streaming error in Xcode 9.0: OT.Publisher.onStreamAvailableError

I am using opentok in my Hybrid ionic app for live streaming.
I am facing issue that I am unable to see live streaming in ios app, although its working on my android app which is already published on Google Play,
Now I need to publish my ios app but I am stuck with these errors showing in Xcode
"ERROR: OT.Publisher.onStreamAvailableError OT_MEDIA_ERR_ABORTED: Argument 1 ('mediaStream') to webkitAudioContext.createMediaStreamSource must be an instance of MediaStream"
"ERROR: OT.exception :: title: Unable to Publish (1500) msg: GetUserMedia"
Device I am using is iPhone 6 (OS 11.0, Safari 11.0)
I had same problem.
For me, problem was in publisher options for OT.initPublisher.
Option "resolution" was redundant. It crashed everythin for ios only, I commented it -ant everything is ok now. Good luck!
You can use the Cordova OpenTok Plugin to add live video to your Ionic applications:
https://github.com/opentok/cordova-plugin-opentok/
The plugin allows you to publish, subscribe, and use the OpenTok Signaling API on both iOS and Android. For Ionic samples, take a look at the following repo: https://github.com/opentok/opentok-ionic-samples

iOS app crashes immediately when debugging AppleWatch app on Simulator (not on device)

I've got an AppleWatch app that is working fine in Simulator and Device, but when I call openParentApplication, it appears that the parent app is crashing immediately because I see this in the console output:
The UIApplicationDelegate in the iPhone App never called reply()...
When I try to manually launch the parent iOS app in the Simulator it crashes there too immediately. I don't have time to attach the debugger (which is already attached to the AppleWatch app) to see what is crashing it. Note that the parent app runs fine when the AppleWatch is running and I'm using a real iPhone. I can also run the app fine on the Simulator when not debugging the AppleWatch app.
I've tried resetting the Simulator, but problem persists.
I'm just not sure how to debug this. Any help is appreciated.
Start an explicit background task in handleWatchKitRequest. Otherwise, your app gets killed before it reaches reply().
Refer to this post for a code example on how to create a background task.
In turns out that after commenting out all code in the parent app's didFinishLaunching and stripping almost all code out of the watch extension, the problem was indeed at a lower level.
The Simulator has a
Debug | Open System Log...
menu option that showed the crash logs, which contained:
Dyld Error Message: Library not loaded:
#rpath/MyCore.framework/MyCore Referenced from:
/Users/me/Library/Developer/CoreSimulator/Devices/A2061705-DDDF-477C-9AAA-E50GG43A6350/data/Containers/Bundle/Application/DEB7FB25-8233-4B9F-8DAB-9FF8AE42BF33/MyApp.app/MyApp
Reason: no suitable image found. Did find:
/Users/me/Library/Developer/CoreSimulator/Devices/A2061705-DDDF-477C-9AAA-E50FF43A6350/data/Containers/Bundle/Application/DEB7FB25-8553-4B9F-8DAB-9FF8AE95BF33/MyApp.app/Frameworks/MyCore.framework/MyCore:
mach-o, but wrong architecture
My Swift app has a few dependent Swift projects that are used by the app and extension. Getting the Swift frameworks to link has been a major pain. I've included the dependent frameworks (compiled in the same workspace) as embedded binaries. This works when running on the device, or on the Simulator, but not when running in this hybrid watch app + parent app Simulator context.
I changed the embedded binary references to point to the frameworks under ...DerivedData...Debug-iphonesimulator, as opposed to ...DerivedData...Debug-iphoneos, and the problem went away.
Still hoping the Swift framework story will improve.
Are you seeing an actual crash? That message has appeared for me plenty of times without the host app crashing.
99% of the time, that error appears because developers aren't opening a background task to complete their work in handleWatchKitRequest. Without the background task, the OS kills your app in the background before it has a chance to reply.

Resources