dyld: Symbol not found on iOS8/xcode7 [duplicate] - ios

For the first time I was able to compile my app in Xcode 7 (failed in beta 4 and 5). So, thats good progress I guess.
However, when i load my app on my iPhone 6, iOS 8.4.1, it crashed in the debugger with the following message:
dyld: Symbol not found: _NSArray0
Referenced from: /private/var/mobile/Containers/Bundle/Application/0294DF62-AE80-485D-BB11-8C3A5D39777D/Boxtiq.app/Boxtiq
Expected in: /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
in /private/var/mobile/Containers/Bundle/Application/0294DF62-AE80-485D-BB11-8C3A5D39777D/Boxtiq.app/Boxtiq
Is this something to do with the order of the libraries being linked? Look forward to some advise.
Thanks!

I fixed it by putting this in the podfile. platform :ios, '8.4'
No need to update your device to iOS 9 and lose out on 8.4 testing.

I had the same error and I fixed.
I removed CoreFoundation.framework and Add again with Status "Optional" and works.

If anybody else got this while running unit tests do the following:
Select unit tests target
Go to Build Settings
Search for 'Deployment Target'
Change Deployment Target version to your project's deployment target
That's it!

I also had this problem and I fixed it by adding framework CoreFoundation.framework to Build Settings.

This as a problem on iOS8 build with the new XCODE release, Please remove CoreFoundation.framework and Add it again with Status of "Optional".

I used to have the same error during compilation of a mac os project after updating the Xcode for 7.0 GM version (7A218). Xcode 7 has the 10.11 sdk in it only (you could check that in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs, where it's a MacOSX10.11.sdk).
At compilation time the xcode will link the frameworks from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks, but at runtime from /System/Library/Frameworks/ as I guess.
I have OS X 10.10.5 (14F27) on mac. Either I have my static library that I've built by xcode 7 (MacOSX10.11.sdk as you remember from earlier), which I've linked to my project after. After running I got the runtime error as
dyld: Symbol not found: _NSArray0
I think it's because the library has been compiled with CoreFoundation.framework from mac os sdk 10.11, but at runtime was linked to CoreFoundation.framework from /System/Library/Frameworks/ where version of which is 10.10 (as OS version).
How I fixed this. Friend of mine has xcode 6 yet, I took mac os sdk 10.10 from there (as you remember in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs, name is MacOSX10.10.sdk) and added it to Xcode of mine. Then I rebuilt my static library with 10.10 sdk (you could compile from cli with '-sdk macosx10.10' parameter or set build sdk in Build Settings => Base SDK). After the problem has been solved.
I assume that for the iOS you could apply the same strategy.

I experienced the same exact crash running Xcode 7.0 beta 6 on a device with the first iOS 9 beta installed, the crash however was not occurring while using the simulator.
After updating my iPhone to iOS 9 beta 5, the crash stopped.

Related

Using Swift v5.0.1 toolchain with Xcode 11 Beta

In theory, it should be possible to use previous Swift toolchains with new Xcode versions, so that you can continue to compiler your code before having to upgrade the Swift version. You can download toolchain version at https://swift.org/download.
However, while apps do compile after switching the toolchain in Xcode preferences and using Xcode 10.2 for the command line tools - running them results in this error on launch:
dyld: Symbol not found: _OBJC_CLASS_$__TtCs12_SwiftObject
Referenced from: ~/Library/Developer/CoreSimulator/Devices/CAAB28E5-9B4A-41A3-ADED-A481A62842BA/data/Containers/Bundle/Application/<Redacted>/Frameworks/PhoneNumberKit.framework/PhoneNumberKit
Expected in: /Library/Developer/Toolchains/swift-5.0.1-RELEASE.xctoolchain/usr/lib/swift/iphonesimulator/libswiftCore.dylib
in ~/Library/Developer/CoreSimulator/Devices/CAAB28E5-9B4A-41A3-ADED-A481A62842BA/data/Containers/Bundle/Application/<Redacted>/Frameworks/PhoneNumberKit.framework/PhoneNumberKit
There's some discussion around a similar error in previous Xcode betas, on GitHub, Apple forums, and elsewhere that suggest it's either and issue with Carthage or the beta - and possibly just the third-party lib I'm using itself.
Has anyone encountered this before? Is it possible to use old toolchains with newer Xcode versions?

There is an error of `dyld_shared_cache_extract_dylibs failed` running app at iOS9.0.2 by Xcode10.1(10B61)

There is a problem that I use Xcode10.1(10B61) running app at iOS9.0.2.
Here is the information : dyld_shared_cache_extract_dylibs failed. The answer doesn't work for me, who has the good solution?
Had the same issue, couldn't get symbols from any devices running iOS 9.x under Xcode 10.1 (10B61), solutions for me was side installing Xcode 9.4.1 and using it to obtain symbols, after that i could use my older devices with Xcode 10 again.
You can find older Xcode versions here: https://developer.apple.com/download/more/
Delete a directory in ~/Library/Developer/Xcode/iOS DeviceSupport/
that matches the version of the iOS on your device.
Restart Xcode.

Invalid architectures Xcode 10

I upgraded Xcode 10 and submitted my app. I got a email that I have not changed the architectures Setting. The Valid architectures is armv7 and arm64.
App Store Connect
Dear Developer,
We identified one or more issues with a recent delivery for your app, "#####!". Please correct the following issues, then upload again.
Invalid architectures - This app has invalid architecture, and may have been built with invalid build settings or incompatible tools. Try rebuilding the app with the latest Xcode version. If you are using third party development tools, contact the provider.
Best regards,
The App Store Team
Xcode 10 doesn't support deployment targets lower than 8.0. You will either need to update the deployment target, or alternatively, if you need a lower target you can reinstall Xcode 9.4.1.
Check out the section Deprecation Notices Deprecations in this link
https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes!
With xcode 10:
recommend to set a deployment target of macOS 10.9 or later, or iOS 7 or later.
Just modify Deployment Target to 7.0 will fix this issue.
(Tested And Passed)
And ... there has more info. before got "Invalid architectures" from Apple.
when i update xcode to 10. i got a compile error with
libstdc++.6 not found.
(My Deployment target is 6.0)
For fixed this. i have download the old(xcode 9) libstdc++ files from a github rep.
The Apple release note can also explain this error.
So if you build for ios 6.0, recommend to use xcode 9.
otherwise
Use xcode 10 and Deployment target 7.0 or later.

Swift does not support the SDK 'iPhoneSimulator8.4.sdk'

Just updated to Xcode 7.0.1, running on El Capitan (GM) with SIP disabled. And now every time I try to compile a Swift project I get this error;
<unknown>:0: error: Swift does not support the SDK 'iPhoneSimulator8.4.sdk'
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
I've tried compiling for actual devices as well and get:
<unknown>:0: error: Swift does not support the SDK 'iPhoneOS8.4.sdk'
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
My deployment target was originally set to 8.0, I've tried setting it to 9.0 but that makes no difference. My Base SDK is set to Latest iOS(iOS 9.0).
This is across all my Swift projects, even when I create a new project, I still get this error.
It doesn't seem to be affecting Objective-C. One thought I've had, is could this be an issue with SIP being disabled? It doesn't look like a permissions error but I can see no other reason why this isn't working.
This happened to me when I had simultaneously installed both Xcode 7 and 6.4 and after automatic update I was left with 7.0.1 only.
One indication that something got messed up was output of xcodebuild -sdk -version:
xcodebuild[29131:8243992] [MT] DVTSDK: Warning: SDK path collision for path '<DVTFilePath:0x7fac2ae3c800:'/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk'>': SDK with name 'iphoneos9.0' being superceded by SDK with 'iphoneos9.0'.
...
iPhoneOS8.4.sdk - iOS 9.0 (iphoneos9.0)
SDKVersion: 9.0
Path: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk
PlatformVersion: 9.0
PlatformPath: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
ProductBuildVersion: 13A340
ProductCopyright: 1983-2015 Apple Inc.
ProductName: iPhone OS
ProductVersion: 9.0
...
There might be easier way to solve this, but reinstalling Xcode 7.0.1 fixed it for me.
If you don't want to re-install Xcode (assumption: you're building for iOS 9), just quit Xcode and go to "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/" and remove the "iPhoneOS8.4.sdk" folder from that directory. Be sure to make an external copy if you still need it so you can put it back later. Then restart Xcode, clean, and build. Worked for me.

Xcode 7 Beta 6, dyld ___NSArray0__ crash

For the first time I was able to compile my app in Xcode 7 (failed in beta 4 and 5). So, thats good progress I guess.
However, when i load my app on my iPhone 6, iOS 8.4.1, it crashed in the debugger with the following message:
dyld: Symbol not found: _NSArray0
Referenced from: /private/var/mobile/Containers/Bundle/Application/0294DF62-AE80-485D-BB11-8C3A5D39777D/Boxtiq.app/Boxtiq
Expected in: /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
in /private/var/mobile/Containers/Bundle/Application/0294DF62-AE80-485D-BB11-8C3A5D39777D/Boxtiq.app/Boxtiq
Is this something to do with the order of the libraries being linked? Look forward to some advise.
Thanks!
I fixed it by putting this in the podfile. platform :ios, '8.4'
No need to update your device to iOS 9 and lose out on 8.4 testing.
I had the same error and I fixed.
I removed CoreFoundation.framework and Add again with Status "Optional" and works.
If anybody else got this while running unit tests do the following:
Select unit tests target
Go to Build Settings
Search for 'Deployment Target'
Change Deployment Target version to your project's deployment target
That's it!
I also had this problem and I fixed it by adding framework CoreFoundation.framework to Build Settings.
This as a problem on iOS8 build with the new XCODE release, Please remove CoreFoundation.framework and Add it again with Status of "Optional".
I used to have the same error during compilation of a mac os project after updating the Xcode for 7.0 GM version (7A218). Xcode 7 has the 10.11 sdk in it only (you could check that in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs, where it's a MacOSX10.11.sdk).
At compilation time the xcode will link the frameworks from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks, but at runtime from /System/Library/Frameworks/ as I guess.
I have OS X 10.10.5 (14F27) on mac. Either I have my static library that I've built by xcode 7 (MacOSX10.11.sdk as you remember from earlier), which I've linked to my project after. After running I got the runtime error as
dyld: Symbol not found: _NSArray0
I think it's because the library has been compiled with CoreFoundation.framework from mac os sdk 10.11, but at runtime was linked to CoreFoundation.framework from /System/Library/Frameworks/ where version of which is 10.10 (as OS version).
How I fixed this. Friend of mine has xcode 6 yet, I took mac os sdk 10.10 from there (as you remember in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs, name is MacOSX10.10.sdk) and added it to Xcode of mine. Then I rebuilt my static library with 10.10 sdk (you could compile from cli with '-sdk macosx10.10' parameter or set build sdk in Build Settings => Base SDK). After the problem has been solved.
I assume that for the iOS you could apply the same strategy.
I experienced the same exact crash running Xcode 7.0 beta 6 on a device with the first iOS 9 beta installed, the crash however was not occurring while using the simulator.
After updating my iPhone to iOS 9 beta 5, the crash stopped.

Resources