Xcode 13 - Building for iOS Simulator, but the linked framework '****.framework' was built for iOS - frameworks

Very similar questions but Validate workspace is no longer available in XCode 13.
building for ios simulator, but the linked and embedded framework .framework' was built for ios
Building for iOS Simulator, but the linked framework '****.framework' was built for iOS
Is there any other solution to this problem?
Thank you.

There is indeed an option to validate workspace under 'Build Options' but you have to select All to see the option.
Validate workspace in Xcode 13

Related

Testing an app developed with SDK6 on iOS7 device

I have an app I want to update of other reasons than change of of iOS, and the work to redesign it for iOS7 is rather big and also not looking good with iOS7.
If I build it with SDK6 using Xcode 4, how do I test it on a device running iOS7. Or do I have to see how it behaves when it is coming up at App Store.
I have also Xcode 5 but with this I can not build it with SDK6, can I?
I can see the result in the iOS6 simulator after a SDK7 build but since the app does not look good with that I do not want to update it that way.
The look is ok on a iOS7 device I know, but how to test it ??
And my devices running iOS7 are not compatible with Xcode 4.
The best way for you is to install Xcode 5 keeping Xcode 4 on your Mac.
For that, copy past your current Xcode 4 in a folder named Xcode4 on your application folder and renamed Xcode.app to Xcode4.app.
After that, update your Xcode to Xcode 5 and create a symbolic link to have the iOS 6 SDK on Xcode 5.
Have a look here, where I explain how to make this symbolic link.

How to deploy project with iOS base SDK 6.1 to device with iOS 7

I've been wasting my whole day on this issue, and could not find a solution:
I've been developing an application with iOS 6.1 SDK, and the whole design relies on the iOS 6.1 UI. Yesterday, I've updated my phone to iOS 7, and after the update finished, the previously deployed app, which came back from the backup looked and worked the same as before (on iOS 6.1); everything was fine. However, I had to update my Xcode to version 5, so I can continue deploying successive debug versions to my iOS 7 device during development. Before updating to Xcode 5, I've backed up the iPhoneOS6.1.sdk package from Xcode's internal folder; then updated to Xcode 5, and then placed the iPhoneOS6.1.sdk package back in its folder, next to the iOS 7 SDK, which came with the Xcode 5 installation. I've switched my project's base SDK to iOS 6.1, which did came up in the base SDK selector list, and made sure in the interface builder that all my storyboards/XIB's are set to build as iOS 6.1.
However, when I deploy the application to my phone, it looks like crap, as it's shown with iOS 7 UI elements. If I use a device with iOS 6.1 installed, everything looks fine; it looks like XCode doesn't give damn about my choice of base SDK, and links the application against iOS 7, if I choose to debug on an iOS 7 device.
How can I force Xcode, to deploy the same 6.1-linked stuff to all devices, regardless of it's installed iOS version?
Find and download old SDK. Older SDKs are found here,
https://developer.apple.com/downloads/index.action?name=Xcode
I have copied the xcode.app directory as Xcode_4.6.3.app.
Now you can test and debug in both xcode versions. You have to run them from the corresponding folders or create shortcuts in your desktop. When I build from command line i give the parameter as iPhoneOS6.1 instead of iPhoneOS7.0
This worked great for me in Xcode5 and iOS.
Go to into Xcode5's SDK dir. Add a symbolic link to the old SDK like this:
ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk iPhoneOS6.1.sdk
In Xcode 5 toolbar, for your target you will see your device listed twice (you also mentioned this in your question ). For some weird reason one is building with iOS 6.x appearance and the other with iOS7 appearance. Trying building/running on one of the device from this list. If you still see the iOS7 appearance, click the stop in the toolbar, select the other device and build again.
I am not seeing any crashes in Xcode 5, so you may want to reinstall if it is crashing a lot for you.
Firstly, you will need to copy and paste the iOS 6.1 SDK from a previous version of XCode. I believe other people have given instructions on how to do this.
Then, assuming you intend to continue development for iOS 6 (for example, without breaking the iOS 6 UI, and you don't intend to use new APIs), do this:
XCode should recognize 2 devices every time you plug in an iOS 7 device to your computer
Run the application on both of them (they are the same device actually, but one of them will be running the application iOS 6-style, and the other one will try to update it to iOS 7-style)
Remember the one running the app iOS 6-style (for me it's the topmost), and do Product > Archive on that device
This should keep on allowing you to build your applications with the iOS 6 style UI, at the same time allowing you to use Xcode 5. I would recommend starting a new development branch exclusively for UI changes to get your app's UI iOS 7 compatible.

iPhone 5 support with base SDK iOS5.1

Is is possible to submit the app with base SDK iOS5.1 and with Default-568h#2x.png, so that application will not leave an extra black space?
Our normal application is working fine on iPhone5 leaving a black space from top and bottom, but if we just include "Default-568h#2x.png", will it work fine (the view displayed in complete area of iPhone5)?
There are lots of dependencies to support iOS6, so is it possible to submit the app with "Default-568h#2x.png" and base SDK iOS5.1?
It is impossible to submit the iPhone 5 full screen app which is built with Xcode 4.4.1 and iOS 5.1 SDK. I did the same thing to support both old devices of armv6/iOS 3.x and iPhone 5. But I got this reject message from itunesconnect. I think it is the new policy of App Store.
"Invalid Launch Image - You app contains a launch image with a size modifier that is only supported for apps built with the iOS 6.0 SDK or later."
just edit the size of Default-568h#2x.png with the same one of Default#x2.png splash screens, don't rename it, adjust only it size, it's how it worked for me, seems the binary does gets faked, my app it's waiting for the review don't know yet if will be approved.
I do not see any policy from Apple to forbid developers to submit apps based on SDK 5.1. My understanding is that if you develop on SDK 5.1 you should also test your app on iOS 6.
Having said that, iOS 6 SDK provides good features to help developers manage the layout, and Apple surely wants the developers to use the latest.
To avoid "Invalid Launch Image" problem on submitting app with iPhone 5 launch image using XCode 4.4.1, please following these steps:
Archive your App under XCode 4.5
Open Organizer, show your App folder in Finder, enter your App’s Products/Applications folder, copy Info.plist and archived-expanded-entitlements.xcent to your home folder.
Open your Info.plist (~/Info.plist) using XCode, and modify MinimumOSVersion from 4.3 to 4.0
Close XCode 4.5 and open XCode 4.4.1, open your App project and open your Target’s “Build Phrases” tab, add a Run Script, with shell “/bin/sh” and “cp -f ~/Info.plist ~/archived-expanded-entitlements.xcent “${TARGET_BUILD_DIR}/${EXECUTABLE_NAME}.app”
Re-archive your App, and it should pass App Store’s rule checker and in “Waiting for review” soon.
The app I submitted late October got online in early November. Someone said he used XCode 4.3.2 to submit app in the same way. It should be working for XCode 4.*
For more information, please also read this blog article.
I submitted by mid-feb my binary compiled on Xcode3.2.6 and only had the Default.png, my App got rejected due to a bug related to the 4" screens, some stupid sizing junk, fixed it and tested on Xcode4.6/SDK6.1 which requires that 568h#2x.png file, I added that image to my set , still compiled it on 3.2.6 and submitted my fix and it got automatically rejected with the same msg as here.
Then I just pulled that 568 file out and resubmitted hoping that since it went thru about 2 weeks ago it'd get past again, I triple checked my code on sdk6.1, recompiled/ressubmitted and got the same rejection so it seems like they are enforcing that min Xcode version NOW.
BUT .... guess what? I cleaned everything and twice and rebuilt & decided to give it a last shot, resubmitted and it passed!!! I'm on waiting 4 review now.
I've solved that issue the following way: I'm using iOS SDK 5.1 and Xcode 4.4.1.
Now I've added simply the Default-568h#2x.png to the upper folder of my App in Xcode but not with Xcode 4.5.1.
Then I've built the App through iPhone 5.1 Simulator and finally I've quit the Simulator.
Then go to ../users/myNameUser/Library/Application Support/iPhone Simulator/5.1/Applications/... search for your App and Copy the complete folder (e.g. F83221EA-1HB4-4947-9DH4-43D8QZ3FFEA3).
Then go to ../users/myNameUser/Library/Application Support/iPhone Simulator/6.0/Applications/ and paste in the copied folder from the 5.1 Simulator.
Finally open your Applications folder go to your Xcode App (4.5.1) then right click and show package content: Go to ../contents/applications/ and double click "iPhone Simulator.app".
Now you are running the new iPhone Simulator with your iOS SDK 5.1 App. Great job? Now you can change the hardware of the simulator to the new iPhone Retina-4-inch.
And you can see how your App will look like on the new iPhone 5.
I've sent my new App version by that way for review - well see if it'll get through.
(Sent with: Xcode 4.4.1 and iPhone 5 support like described on top)
By the way it could be interesting to run Apps from Xcode 4.4 on real iOS 6 Device?
How to do that: Use iOS 6 device for testing with Xcode 4.4 and iOS 5 SDK

How can I enable "Debug" section in iOS simulator menu?

In this stackoverflow question people say that it is possible to set mock location in iOS simulator Debug menu. However I cannot find this section in iOS Simulator menu. Im using last XCode 4 from AppStore (Lion). What should I do to make it visible?
It seems it has been added since ios sdk 5.0. I have both versions(4.3.2 and 5.0BETA and corresponding xcode versions) installed separately and the menu you mean is only in 5.0 version.

There is no SDK with the name or path 'iphoneos2.0'

I keep getting this error.
There is no SDK with the name or path 'iphoneos2.0'
I am running some templates at
http://appsamuck.com/day1.html
I'm running the latest sdk, in the pop up menu (simulator) there is an option iPhone Device 2.0 (missing) (Base SDK)
Then just select another SDK: 3, 3.2 or 4.
Most examples will work, even if they were prepared for SDK 2.
Oh, i have just met this problem last night :) I think your project write in xCode 3.2.2 or earlier but you try to run it on xCode 3.2.3. And you need to tell xCode to run your app in iPhone Simulator with iOS 4 (iPhone running iOS 4 can run iPhone's app write for iOS 3). If that's your problem do some step to slove it:
Select "Project" menu on xCode.
Select "Edit Project Settings" submenu.
Look at line "Base SDK for All Configurations", select iPhone Simulator 4.0 (May be it look like disable but you can select).
Run your project to compile your project.
Good luck :)
Looking at the code here, it's one of the very first iPhone dev tutorials written, and it's evidently not been updated to reflect the current SDK and Xcode versions.
I would suggest starting with a more modern tutorial, then coming back to this once you have the confidence to be able to understand and fix the code.
Go to the project
project> Edit project Setting
Change BASE SDK to the latest IOS
after that
Code Signing Identity: Change it to DON'T CODE SIGN
after doing this some of my applications was working fine but not all of them.