I ran into a wonderful problem while writing my app in flutter.
I used the tdlib library, which by default for Android is built into flutter, and for the iOS platform it was necessary to compile it via sh script and upload it to App Store Connect with XCFramework, I compiled it, put the folder in the root of the project and the application starts up fine, both from under Android Studio and from under Xcode and works fine in debug mode. But as soon as I upload my application to App Store Connect, Apple starts swearing and saying that my files are not where they should be (namely, dlyb files).
The message from Apple looks like this:
We identified one or more issues with a recent delivery for your app,
"YourAppName" 0.0.22 (47). Please correct the following issues, then
upload again. ITMS-90429: Invalid Swift Support - The files
libswiftDarwin.dylib libswiftMetal.dylib libswiftCoreAudio.dylib
libswiftQuartzCore.dylib libswiftos.dylib libswiftCoreMedia.dylib,
libswiftCore.dylib, libswiftFoundation.dylib, libswiftCoreImage.dylib
aren't at the expected location /Payload/Runner.app/Frameworks. Move
the file to the expected location, rebuild your app using the current
public (GM) version of Xcode, and resubmit it.
I have already tried deleting dlyb files in Runner.app/Frameworks, and moving them, recompiling the .ipa file using various scripts from GitHub, including dlyb files directly, but it doesn't work. The developer wrote in the issue that everything seems to be working (the repository is 8500 commits and is supported to this day), maybe I'm not uploading the application to the App Store correctly? Or did I not connect XCFramework correctly? Maybe someone faced similar?
The XCFramework connection looks like this:
Related
I have done with all the settings of my react native project and trying to run on the IOS simulator, it's working fine. Means all the api working properly.
So now I have to share my .ipa file to team members for testing, so creating .ipa file I am using procedure defined on react nativeRunning On Device documentation.
For creating .ipa file using Xcode following below process:-
In Edit Scheme option, change Build Configuration to release.
Clean Build Folder
Create Build.
Archive build.
After that exporting .ipa file using valid certificate.
Solutions I have tried:-
Checked with this solution, because the domain I am using to hit web service is not secured.(It's http)
Enable Transport security flag.
Added main.jbundle (created using command line) to Copy Bundle Resource option in Build Phases.
While adding Alert in api call, getting below error (check image)
Still No luck.
Please let me know, what I am doing wrong?
Please check api server live link is working or not. In my case, I am testing whole api's on local network (In LAN). But when trying with live url, I am also facing this issue.
So that time I made one mistake, that my url should contain http:// but in actual it was https://.
It's pointing to main.jsbundle file, that means it's having issue
related with your code.
So check it once.
We are trying to address a critical crash in an iOS application that's using Fabric / Crashlytics. We don't have the contact details of the person that was last working on the application and uploaded the latest version to the App Store.
In the project dashboard I noticed the message "Found XXX unsymbolicated crashes from missing dSYMs in 1 version in the last 24 hours". Screenshot: https://i.imgur.com/YT9gggJ.jpg
I did the only sensible thing I could think of: I went to the App Store Connect dashboard. I downloaded the dSYM zip for the build in question as per the official instructions from Fabric: https://docs.fabric.io/apple/_images/download-dsym.png
I then went to the dSYM tool and uploaded the zip directly. Turns out only two of the four files required were in the zip (I also examined it myself): https://i.imgur.com/JqxZcaD.jpg
So... I'm in a black box situation here...
I'm not an iOS developer
I don't have access to the computer used to build the project or the person that produced the build
I'm assisting an iOS developer that has just joined the team
I have access to the project repository
I have access to the App Store Connect profile
I have admin access in Fabric
My questions are:
Why were the other two dSYM files not in the zip I downloaded form the App Store?
Why are some crashes associated with one dSYM and the rest to another? Is there any sort of categorization of the crashes that we currently have access to?
Can we do something to gain access to all the production crash reports without publishing a new app version to the App Store? We're trying to avoid this scenario ATM.
EDIT #1:
So this person that published the build was not exactly following best practices. I wanted to explore the possibility of them having the dSYM files committed to the server repo.
This is their gitignore:
.DS_Store
xcuserdata
<PROJECT NAME>.xcodeproj/project.xcworkspace/xcshareddata/
build/
Build/
I guess the build folder pretty much rules out this possibility. I also searched the file structure for files containing the text "com_apple_xcode_dsym_uuids ==" with no success...
EDIT #2:
I'm appending an exceprt of the answer Fabric support gave me:
If your application is using frameworks, the product folder will have
a separate dSYM file generated for each framework built. Eventually
all of them are needed if we want to cover our bases and be able to
symbolicate a crash in every possible location in our app. A dSYM file
generated while building a specific version of the application can
only be used to symbolicate crashes from that specific version only.
dSYM files are identified by a Unique ID (UUID), which changes every
time we modify and rebuild our code, and that ID is what is used to
match a symbol file to a specific crash. A dSYM may be associated with
more than one UUID, as it may contain debug information for more than
one architecture.
It looks to me that you may need to upload a new build, which is not too bad after all if it includes any bug fixes. Regarding your questions:
Why were the other two dSYM files not in the zip I downloaded form the App Store?
The option to download dSYMs from App Store connect is available only if the app was distributed using Bitcode. Bitcode is intermediary representation of the source which App Store uses to produce the final optimised machine code targeting specific architecture/device. When Bitcode is selected all linked frameworks/libs should also be delivered using bitcode, so it looks weird to have only some dSYMs. Although unlikely, is it possible that the missing dSYMs are from another build?
Why are some crashes associated with one dSYM and the rest to another? Is there any sort of categorization of the crashes that we currently have access to?
Each target/framework/lib generates its own dSYMs, so your app probably depends on one or more frameworks and some of the crashes originate from that frameworks.
Can we do something to gain access to all the production crash reports without publishing a new app version to the App Store?
I can't think of another solution so far.
For the record I have not touched any of the files listed below, all I did was compile, attempt to pull my hair out by uploading and then I got this error message:
Invalid Swift Support - The files libswiftDarwin.dylib,
libswiftMetal.dylib, libswiftCoreAudio.dylib,
libswiftQuartzCore.dylib, libswiftos.dylib, libswiftObjectiveC.dylib,
libswiftDispatch.dylib, libswiftCoreGraphics.dylib,
libswiftCoreData.dylib, libswiftCoreFoundation.dylib,
libswiftUIKit.dylib, libswiftCoreMedia.dylib, libswiftCore.dylib,
libswiftFoundation.dylib, libswiftXCTest.dylib,
libswiftCoreImage.dylib aren’t at the expected location
/Payload/BeginerGuideDigFor.app/Frameworks. Move the file to the
expected location, rebuild your app using the current public (GM)
version of Xcode, and resubmit it.
Once these issues have been corrected, you can then redeliver the
corrected binary.
Honestly I wouldn't even know where to beign
So to answer one of the question, according to the part apple told me to go through my libraries are fine here is a pic of me running the code for that
here is what I ran and below that is the result
UPDATE:
SOOOOO at this point I have now confounded the app support store, they cannot figure out why I am getting this error, they have asked me the same questions over and over, what version of Xcode, what version of Mac OS... still no resolution.
You mention a hair-pulling upload experience. But unless you have a build system/build scripts involved, normally the process is just Product>Archive and uploading from Window>Organizer (or using the Application Loader on an exported ipa from there). Are you doing anything different that may be corrupting the .ipa?
You might Export it for App Store, rename the .ipa file to .zip and unzip it. Right click on your app in the Payload directory, select Show Package Contents and look in your Frameworks directory for a clue. All of those files should be there. Do you have any Build Phase scripts that do anything with Frameworks?
UPDATE:
I just came across this Apple response to this type of issue in the Apple Developer Forums. That's a great resource for these types of things, by the way:
It's likely you have a plain dylib outside of a framework somewhere,
which is only supported on macOS. Please review the Troubleshooting
section of Tech Note 2435 for more context. If having a bare dylib
is indeed the cause of the problem, please file a bug for an error
message that clearly explains this.
Link: https://forums.developer.apple.com/message/218019#218019
So I recently started using CocoaPods and I've gotten a few installed and running without any problems. It works perfectly in the simulator, and if I compile the app to a device through xcode it works fine as well. But when I export the app as an .IPA and install the app on a device my app crashes. The device log states that a library couldn't be loaded. I tried removing the library it could not load, and it proceeded by not being able to load the next library so it seems that the .IPA does not include the CocoaPods at all. I would provide you with my settings in the project file but I don't even know where to start looking or what info to provide you with since I'm very new to CocoaPods.
Here is the error message:
Dyld Error Message:
Library not loaded: #rpath/Charts.framework/Charts
Referenced from: /private/var/mobile/Containers/Bundle/Application/50931ADA-7E77-42C4-BFKA-0EB4A71BCF63/myApp.app/MyApp
Reason: no suitable image found.
Too clarify: It all works fine except when I export the app as an .IPA, so I believe the project hierarchy is correct and the pods are installed correctly. I would bet that there is some sort of project setting that prevents it from being exported?
Edit #1: It works when I export the .IPA without using an Enterprise account, so the issue is somehow connected to the Enterprise account. I read somewhere that the new Cocoa Touch Framework was a bit buggy and couldn't be used with the Enterprise deployment, is CocoaPods using Cocoa Touch Framework? Anyone else have any other suggestions?
I am building an app called 'ToyBox.
When I build for iOS, I get a ToyBox.app directory which contains a ToyBox executable and the other typical iOS-related files (Info.plist, pkg.info, etc.), in addition to my app icons, assets and source code directories.
However the directory also contains another ToyBox.app sub-directory, which itself contains a ToyBox executable and iOS-related files and my assets directory.
It looks like Corona is recursively compiling my app. This happens whether I build for device or the Xcode iOS simulator. There is no problem running the resulting executable on my device (iPad4) or simulating it in Xcode but when I tried to submit my app to the App Store it was rejected with the following error:
"Invalid Bundle Structure - The binary file
'ToyBox.app/ToyBox.app/ToyBox' is not permitted. Your app may contain
only one executable file."
The error is valid - there are two executables!
(At the risk of confusing the issue, I have another, seemingly related, issue: if I build my app (either for device or Xcode simulator) then later build the app with a different name, in the same directory, the second build will include the first build and the build process will take a very long time to complete. If I was to build the app again with a third name, both previous app builds wold be included and the build would take a very (very) long time).
I can probably work around the issue by deleting the extra files, but this seems like a hack and I'd like to know what's going on.
I am using Corona Version 2013.1087 (2013.4.17).
Make sure you are not saving your Built app to the folder with your source code. You cannot put the output from building an app into the same folder with your source or you will get this error.