Generic archive created when updating an existing Mac app? - macos

I've made an update to my existing Mac app and went to archive it.
In Organizer it came up as a new entry and not under the previous releases I had. This new entry appears generic, ie. no app icon, no version or identifier info, just the name of the app came through. What happened? How do I troubleshoot?
In the update I added a UTI and also copied a plug-in into my bundle. Could those things have something to do with it?

Got it. My problem was related to dependency targets. Here's the solution:
http://www.weston-fl.com/blog/?p=2429
(Excerpt added 2012-12-18; see blog post for screenshots and background info)
… Select dependent project(s) in the Project Navigator
Find “Skip Install” and set to YES.
If you have more dependent project, repeat these steps for all of them (i.e. at static library projects).
The app is expected to be deployed so do not change the Skip Install’s No to YES there. Change at the dependent projects only.

Related

How do I find why Xcode no longer notarizes my app?

I have a MacOS app that I last notarized about a year ago with no issues. This time, however, when I created the initial Archive, the Organizer put it into a section called 'Other Items' instead of in the 'macOS Apps' section with all of the previous Archives. In addition, and more distressingly, when the Archive is selected, the button says 'Distribute Content' instead of the expected 'Distribute App', and pressing it simple exports the Archive or its contents, without running through the automatic notarizing process.
I suspect I have done something in the last year that somehow invalidates my app such that Xcode no longer recognizes that it is an app. I have followed the suggestions at https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues, but that did not provide any relevant clues.
I am using Xcode Version 13.4.1. How do I figure out what is preventing Xcode from offering to notarize the app?
To track this down, I created a new project, and then tried to notarize it. (I didn't actually notarize it, I just made sure that I could Archive it and it showed up in the correct section in the Organizer.) The new project archived as expected, so I knew that I could still notarize somethings; I was just having an issue with my app.
My plan was to copy items from my app into the new project in small chunks, and after each copy, attempt to Archive it. I figured that I would either find the item that was causing the failure (and fix it), or I would eventually copy the entire app without a failure. Either way, I would be able to notarize the app.
The first chunk I copied was all of the build settings. And right there, the new project would not notarize, so I removed and added build settings to binary search which setting was causing the failure. It came down to the RUN_DOCUMENTATION_COMPILER = YES build setting.
In the last year I have been more conscientious about documenting the code, and to actually see that documentation, I had added that build setting.
Comparing the archives created with and without running the documentation compiler, the MyApp.doccarchive file appears in the archive in the Application folder along side MyApp.app, so it appears that Xcode is confused by the "extra" file in the Application folder.

Cannot add localization in Xcode - Spritebuilder project

I have finished my first game project with Spritebuilder and its time for localisation. But, when I try to add a new localisation, even though I follow all the correct steps, no language is added in Xcode and no localised project folder are created after I click finish (see attached photo).
Hint: If I try to add the language again the list with the resource files is empty...
Any ideas?
Faced similar issue with SpriteBuilder, if you prefer Xcode's string format. Try this answer to restore this capability
I deleted the Localizations in Xcode, then I cannot add any Localizations back

iOS 8 Today widget does not appear when running the project

I have an app with 2 targets and added a today widget. When I run it it doesn't appear on the today notifications Edit/ in the "Do not include" section, where it normally appears the first time with my other apps. Any idea what could be going wrong? I get the entitlements missing warning for the extension but i get this for the ones that work too ( have tried adding one, doesn't help).
Also if i try attach it as a process under the debug menu, it does not appear there at all/
I have tried deleting app from simulator and resetting etc, I have tried with another app that has multiple targets as i thought this may be the problem but the other one works.
Anyone else have a similar experience or can suggest anything?
Edit 6 Oct 2014: I still haven't found a solution, but my project does not use arm64. Could this be the issue ? i have tried removing arm64 from other projects but I think Xcode 6 doesn't allow it so I can't test it, does anyone know if this is a possibility?
In my case, the reason for the widget not being shown in the list of widget was a too high deployment target number. For the widget, I had 9.0. However, I downgraded my iPhone from 9.0 to 8.4 and forgot to change it for the widget.
After changing it to 8.4, the widget immediately appeared on the iPhone.
Make sure you're running the containing app not the extension in the simulator.
I have seen this issue when there is a mismatch in the bundleID between the app and the extension.
Example (Correct):
App bundleid: com.yourcompany.myapp
Ext bundleid: com.yourcompany.myapp.myextension
The extension needs to have the entire bundleID of the app, followed by its own name.
Make sure:
"Deployment Target" is same to containing app's (#vomako 's answer);
Bundle ID follows correct format: "com.yourcompany.myapp.myextension", while your containing app's is "com.yourcompany.myapp" (#RohitGupta 's answer);
While debugging, you need to run widget/extension scheme (not containing app's scheme here. But if archive to submit to App Store, use containing app's scheme);
"Build Settings"'s "WRAPPER_EXTENSION" is "appex".
Point 4 was not mentioned in all answers (even official doc), but happened in my case.
I created Today Widget for my existing project in a workspace, not works at all. However, when I create pure new project with Today Widget, it works well. Then I compare the Build Setting one by one and found this difference: The one created for my existing project is "app", not "appex".
After changing it to "appex", works.
Also, as tips, in order to pass App Review, you must:
Include the arm64 (iOS) or x86_64 architecture (MacOS) in widget/extension's Architectures build settings;
Specify “iPhone/iPad” (sometimes called universal) as the targeted device family for your app extension, no matter which targeted device family you choose for your containing app;
A containing app that links to an embedded framework must include the arm64 (iOS) or x86_64 (OS X) architecture build setting;
Always choose “Frameworks” as your Copy Files build phase destination (do not choose the “SharedFramework” destination instead).
In my case the Build phase "Embed App Extensions" of the app target was missing the appex file:

Xcode - AudioToolbox/AudioToolbox.h file not found

I'm getting started with Xcode and a i'm studying the way to play sound. I have implemented a small project that play a sound using AudioToolbox framework. Everything was fine: i could Build and run normally, the application also functioned normal but today when i reopen the project i have this bug " file not found". It's strange, i didn't modify anything in my project, the framework was linked in my project too. Anyone has the same problem like me?
First try to clean your project by going to the menu bar (the very top) under "Product" and click "Clean". If it still doesn't work: go into the Build Phases, delete the frameworks, then re-add them.
If this happens when you take an old project and try to build with a new Xcode version, it could bet due to saving ".framework" files locally within your project. Do check the project folder for such files and remove them, and then use the "Build Phases" tab to link the new frameworks.

XCode 4.5.2: Cannot run on the selected destination - Facebook SDK

Cannot run on the selected destination
The selected destination does not support the architecture for which the selected software is built. Switch to a destination that supports that architecture in order to run the selected software.
I am using the Facebook-iOS-SDK from GitHub: https://github.com/facebook/facebook-ios-sdk
tested latest commit (2a030e795aed343e7614e149a5ebdfa78b223a72) and sdk-version-3.0.8 tag, both having the same problem. Tested the Hackbook, Scrumptious, FriendPickerSample on both iDevices and iSimulator.
It was working before (on older version of XCode), so it could be the xcode upgrade, but my other projects work fine. I've tried multiple solutions on this site which works for others but not on mine, does anyone encounter this before with Facebook-SDK specifically? Thanks in advance!
EDIT: I have found the issue, if you install the FacebookSDK and you add the resources folder to get the facebook image buttons there is a Info.plist file. XCodes goes weird with this info.plist file. I have deleted it, made a clean and now it works perfect :)
OLD:
The same behavior here. On another projects it runs perfectly but in this one I have always the same problem. After some XCode restarts sometimes it runs ok, sometimes I "click" on run and then nothings happens, sometimes it runs...
The best option is to move the project to other path. Adding and removing the libsql3.0 from lib dependencies sometimes works too.
Sadly, it seems like this is a bug on XCode, it will build and run fine for once every couple of restarts and with the entire project directory moved to other path. This is very sad because apple always make good products for consumer but all their developer software are crappy compared to big M's
I ran into this problem. It seemed to start right after XCode hung and I had to force quit. This was a day before the 4.6 update. I hoped that that update might fix the problem. And I did get one successful build before I started getting that message (actually in 4.6 there are two different but similar messages that seem to alternate.
I solve the problem by letting XCode update the project settings. I first noticed this possibility when I made a duplicate copy of my project and open that, but it is clear that this option is also available in the original. Here is what I did
In the Issues Navigator just under my project "MyProject project" I had a message MyProject.xcode
Validate Project Settings
Update to recommended settings.
I click on that and I was presented with a dialog box with 4 checkboxes some explanatory text and the option to perform changes. I just let Xcode make those changes and everything has been fine since.
Remove info.plist from Facebook Resources folder. Changed the location of XCode project and Reset the iPhone simulator...now it is working :) Buggy XCode !!

Resources