You may have a bad connection in your xib.
I've had this error many times. While TechZen's answer is absolutely right in this case, another common cause is when you change the name of a IBOutlet property in your .h/.m which you've already connected up to File's Owner in the nib.
From your nib:
- Select the object in IB and go to the 'Connections Inspector'.
Under 'Referencing Outlets' make sure that your object isn't still connected to the old property name... if it is, click the small 'x' to delete the reference and build again.
Another common cause if you are using Storyboard, your UIButton might have more then one assignings (Solution is almost the same as for nib):
- Open your storyboard and right click the UIButton
You will see that there is more than one assign/ref to this button.
Remove one of the "Main..." greyed windows with the small "x":
Here's what I'm doing:
1) In my framework CMakeLists.txt file, I have the following:
IF (APPLE)
SET_TARGET_PROPERTIES( MyFramework PROPERTIES FRAMEWORK true)
SET_TARGET_PROPERTIES( MyFramework PROPERTIES
XCODE_ATTRIBUTE_INSTALL_PATH @executable_path/../Frameworks/ )
ENDIF (APPLE)
The second "set_target_properties" line configures the framework to
always be looked for in the application bundle in the Frameworks
sub-folder.
2) In my top-level CMakeLists.txt file, I add setup a unified binary
output directory:
SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Bin)
SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Bin )
SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Bin )
3) Then, in my applications' CMakeLists.txt file, I have the following:
IF (APPLE)
ADD_CUSTOM_COMMAND(
TARGET MyApp
POST_BUILD
COMMAND ${PYTHON_EXECUTABLE}
ARGS ${CMAKE_HOME_DIRECTORY}/CopyFramework.py
--binary ${PROJECT_BINARY_DIR}/Bin
--framework MyFramework.framework
--app MyApp.app
)
ENDIF (APPLE)
This calls out to my python script, which does the work of assembling
the src and dest paths, and actually copying the Framework.
The final trick is that since this is a Mac only thing, I can rely on
an Xcode environment variable within the Python script:
config= os.environ["CONFIGURATION"]
This allows me to assemble the complete path to the actual binary
locations of the framework and the app.
The one thing I wish was that there was a CMake variable that would
expand to the current Config within the context of the
ADD_CUSTOM_COMMAND... It'd be nice to not have to resort to using the
Xcode environment variable.
Best Answer
Answer: Xcode: Could not locate device support files
Well, I found non of the answers logged out here aren't complete and sustainable. So here we go.
Most importantly don't waste your time and internet bandwidth downloading Xcode just to resolve this issue which you can do within few MBs and little bit of OS know-how!!!
Step 1:
Following GitHub Repository seems to be up to date with all the required
Support Files
which are helpful to resolve. And it seems like this repository gets updated quicker as possible. Check out it for yourself and you are halfway done.Step 2:
Select and download the Support files which are missing for your Xcode, which you can get the clue out of the above alert message. In my case I was informed to download 11.4 (15FCA...something). So I went and downloaded the latest iOS Support files:
Which were under the path of iPhoneOSDeviceSupport/11.4 (15F5061c)/
Step 3:
And then place them inside the DeviceSupport folder which is in a related path to your Xcode installation. In my case, I've installed Xcode 9.2 so my path to DeviceSupport looks like as follows:
Step 4
Place the two files you downloaded in a folder named
11.4 (15F5061c)
.Clue: In your case make sure to name it after the specific iOS version you downloaded the files.
Step 5:
Quit Xcode app if you had been already using it previously. Re-open it and try to run your app on your iPhone (or in iDevice of your previous attempt). Xcode will first warn you saying something like following:
Soon after it's completed (probably after several attempts that you may have to try reconnecting your iPhone to Xcode), you would be able to successfully run your app on your preferred device.
How could you find this path? Go to your Applications folder, locate Xcode-x.x.app file, right click on the Xcode app and select "Show package contents" as follows:
And then navigate to the DeviceSupport folder within the Finder App as follows:
Hope this would be helpful to any of you!
Cheers!