Xcode: Iphone App version in organizer shows "local" - ios

I'm building an ipa file in xcode. I'm using the build and archive option. In info.plist file for the project, I have set "Bundle versions string, short" and "Bundle Version" to a user defined variable, which I have set in my build target's build settings to be 1.0.0.
However, in organizer, when the build and archive finishes, it shows "Version: local". Anyone know what I'm missing or if this is the correct behavior?

Related

xcode 10b6 fabric missing or malformed provisioning profile

Just updated to Xcode 10b6 and when i try to distribute the app through the fabric plugin i got the error "Archive Preparation Error: -3" - The archive's embedded.mobileprovision provisioning is missing or malformed"
No idea how to solve this.
Just find myself trying stuff..
File -> Workspace settings
Change Build system from New Build System (default) to Legacy Build System
In xcode 10+ the option to change to legacy build is in file >> project settings

React Native project in Xcode archives successfully, but doesn't generate an .xcarchive file

Product -> Archive returns success with no warnings
In my archive scheme, I have "Reveal Archive in Organizer" checked
I have "Skip Install" set to "NO" in deployments in the build settings
When I archive my project, it runs successfully but no where in my system can the .xcarchive file be found. I checked Xcode's default archive folder under Preference -> Locations, but there was nothing there.
Any advice?

Xcode - There are no dSYMs available for download

I want to extract the dSYM file from but when I click on "Download dSYMs..." in the Organizer I get the follow message: "There are no dSYMs available for download.".
I'm using Xcode 7.2 with a workspace generated by Cocoapods 0.39.
How can I get them?
NON-BITCODE
Here's a GIF on how to get DSYMS, compress and upload to crashlytics/fabric
Press Window > Organizer
Right-click on your app> Show in Finder
Right-click on first .xcarchive file > Show package contents
BITCODE ENABLED
You'll need to download dsyms from App Store Connect. The easiest would be to use fastlane
lane :refresh_dsyms do
download_dsyms # Download dSYM files from App Store Connect
upload_symbols_to_crashlytics # Optional for uploading to Crashlytics
end
I think #Jordan is correct--it seems that iTunes Connect is recompiling apps with bitcode so that the UUID changes, and the dSYM inside the .xcarchive can't actually be used to symbolicate the app (this appears to be a new development).
You can download the correct dSYM from iTunes Connect. Login, go to My Apps, select your app, then tap on the Activity tab at the top. Tap on the relevant build, and, assuming the app was submitted with symbols in the first place, you should see the option to "Download dSYM."
The file you get is called dSYMs (without an extension) but it is in fact a zip file. Add the .zip extension, unzip, and you'll find your dSYM(s) inside.
(I needed to do this this week since Crashlytics was complaining about a missing dSYM.)
Actually you can't download dSYM file from iTunesConnect now. There is another way to get that file.
Xcode -> Window -> Organizer -> Show xcarchive file in Finder -> Right Click Your xcarchive file -> Select "Show Package Contents"
You can see your dSYM file now.
bitcode must be enabled
if you want to get your dSYM from iTunesConnect
Build Settings > Build Options > Enable Bitcode > YES
Select device "Generic iOS Device" (or anything that works)
Archive
When exporting from archive
CHECK "include app symbols for your application to receive symbolicated crash logs from Apple"
CHECK "include bitcode"
Upload using Application Loader
Once your app has been successfully uploaded to iTunesConnect you can go to iTunesConnect.com > MyApps > [YOUR APP] > Activity > All Builds > [YOUR BUILD] > General Information > Includes Symbols > Download dSYM
#xcode8.2.1 #osx10.12.6
I've found a solution from https://twittercommunity.com/t/not-matching-uuid-bitcode/61000/2
"Crashlytics was reporting missing dSYMs with UUID looking like this: 83889b11dedd363c8e5ee56233bcc90c.
As I said, I followed the guide7 but I couldn't find that UUID. So I went in the iTunesConnect and I did the following:
Select the app
Choose the Activity tab on top
Select the build version Crashlytics is complaining about
Click the Download dSYM blue link
The downloaded file is called dSYM has no extension but it is actually a zip. So I added the zip extension and unzipped it. Inside the unzipped folder I found many dSYM files, one on which has called 83889B11-DEDD-363C-8E5E-E56233BCC90C.dSYM which matched the UUID Crashlytics was reporting as missing (even if formatted in a different way). Note also that this file is not inside the xcarchive.
Hope it can help!"
in my case, it works like charms
In my case, I could not find a dSYM file of my app in the Archives folder. If you face this, go to your Project Build Settings > Build Options > Debug Information Format and make sure it is set to DWARF with dSYM file
If dSYMs folder in package contents is empty (Ted's answer), try to check:
Build Settings > Build Options > Enable Bitcode is set to YES (Jacksonkr's answer)
Build Settings > Build Options > Debug Information Format is set to DWARF with dSYM file (daisura99's answer)
Please check them both.
Then in show package contents -> dSYMs folder, this time, you should find something.
In my case, it worked.
Form latest updates you no need to upload dSYM files manually, automatic upload is done with below process.
Step-1: Goto Target-> Build Settings -> Search for "debug information format". Set Debug Information Format to DWARF with dSYM File for all your build types.
Step-2: Goto Build Phases -> Expand Run Script and add script & input files
In Script:
"${PODS_ROOT}/FirebaseCrashlytics/run"
In input files:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
Example Screenshot:
Step-3: Finally add one more script to upload dSYM files
${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -gsp
${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
Here, in the 2nd line of the script ${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios update with your project path means your app schema name
If you got error while running the app follow my answer Xcode 10.2.1 Command PhaseScriptExecution failed with a nonzero exit code
Error:
Command PhaseScriptExecution failed with a nonzero exit code

xcodebuild produces different archive to Xcode 7.0.1

I am using xcodebuild to generate an archive from a workspace. I use the following command:
xcodebuild -workspace MyProject.xcworkspace -scheme "MyProject"
-destination generic/platform=iOS archive
-archivePath "../PathToArchive/MyProject.xcarchive
(I've spaced it out over multiple lines for readability)
This command generates a MyProject.xcarchive. However it generates a generic "Xcode Archive" rather than an "iOS App Archive." This cannot be submitted to the App Store.
If I archive the exact same workspace and scheme using Xcode.app version 7.0.1 (7A1001) instead of xcodebuild then I get an "iOS App Archive" which can be submitted to the App Store.
Inspecting the contents of these two xcarchives shows the main difference is the bundled Info.plist file. The one generated by Xcode.app contains an additional ApplicationProperties dict with versioning and signing details. The one generated by xcodebuild lacks these details in its Info.plist.
Copying the Xcode.app generated Info.plist into the xcarchive generated by xcodebuild "fixes" the archive, and it can be submitted to the App Store. This is not a solution however, as it means I cannot build on the command line.
Note that doing xcodebuild -version prints:
Xcode 7.0.1
Build version 7A1001
Edit: sometimes xcodebuild appears to generate a correct iOS App Archive instead of a Generic Archive. I'm not exactly sure why this happens. It's not consistent.
Are you using Cocoapods? If so try using the pre release version gem install cocoapods --pre . I had the issue because of a copy pods phase being somewhere it should not have been, please go through https://github.com/CocoaPods/CocoaPods/issues/4021 you should find a solution that fits you.
After a lot of frustration I have discovered the cause of xcodebuild producing incorrect xcarchive packages.
I had to disable the "Parallelize Build" option for the scheme I was building.
After un-ticking this option, the builds take a lot longer, but xcodebuild is consistently producing an "iOS App Archive" rather than a "Generic Archive." With "Parallelize Build" enabled xcodebuild would generate a "Generic Archive" 90% of the time, occasionally generating a correct archive.
Because I wanted my build times within Xcode to remain unaffected, I left the "Parallelize Build" option enabled for my schemes. I duplicated the schemes to be built with xcodebuild and un-ticked the option only for the deployment schemes.

Provisional profile is missing when building for iOS 5.0

I am able to create the .ipa file for 4.2, but it fails when I do it for 5.0. In 5.0 when I archive the build, the provisioning profile is missing.
It successfully runs in the simulator and in my iPhone. When I select "Product->Archive" to build the archive, it successfully archives the project but it losses the identifier name, and the version is 'Unspecified'. When I press the "Share" button it doesn't find the provisioning profile and can't build the ipa file.
How can I get the ipa file built?
you need to download the .mobileprovision files from developer.apple.com. You can just double click the files in finder and install them. Be sure in the build settings to point them to proper distro profiles/developer profiles.
SOLVED - Actually the the project was done with xcode 3.2.6 and it had two dependencies. When it was transitioned to 4.2, build setting wasn't changed. I had to convert the build settings of 2 dependencies and the main application then i could build the ipa file.

Resources