Reputation: 6788
Recently I have started writing test case for one old static library. I have loaded the library to Xcode 5,Since Static Library is old , I have to manually add TestProject with Test Target.
When I am trying "Product-->Test" , It launches emulator and Console shows following error
The test bundle at /xxx/xxx/xxx/StaticLibTest.xctest could not be
loaded because an unanticipated error occurred: Error
Domain=NSCocoaErrorDomain Code=3587 "The bundle “StaticLibTest.xctest”
couldn’t be loaded because it is damaged or missing necessary
resources."
(dlopen_preflight(/xxx/xxxx/xxx/Debug-iphonesimulator/StaticLibTest.xctest/StaticLibTests):
no suitable image found. Did find:
I don't have any clue why this error comes.
Any help for pointing out to the right direction will be really appreciated.
Upvotes: 24
Views: 20096
Reputation: 276
The bundle UITests couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle
Verify if all your targets are using the same iOS version in: Build Settings -> iOS Deployment Target
Upvotes: 2
Reputation: 6380
Had a similar issue:
FrameworkA imports FrameworkB
FrameworkA-Tests also imports FrameworkB
What solved the issue was to remove(comment) all references to FrameworkB in FrameworkA-Tests, then Run Tests once and uncomment the references.
FrameworkA-Tests now imports FrameworkB and runs fine.
Upvotes: 0
Reputation: 3591
Check if you forgot to add your test target in your Podfile
:
target 'MyProject' do
# Add test target
target 'MyProjectTests' do
inherit! :search_paths
end
pod 'SomePodLibrary'
end
Upvotes: 2
Reputation: 1292
I was able to resolve this issue by setting the host application for the test target:
Upvotes: 21
Reputation: 12188
For me, we had just turned on CloudKit entitlement. For some reason that broke building.
Upvotes: 0
Reputation: 5124
If other readers are getting this error, and you're using Carthage to add a framework, ensure the Copy Files
phase is with Destination: Frameworks.
If you accidentally add the frameworks to a Copy Files
phase with a different target (other than Frameworks), or Copy Bundle Resources
, this will also produce the damaged / invalid bundle error message.
Upvotes: 31
Reputation: 2468
I had a similar problem. For me, the problem was a unit testing framework that was a dynamic framework but not copied over to the xctest bundle.
The solution was to add a "Copy Files" phase to my unit test target, set its destination to "Frameworks" and add my framework as an input file.
Upvotes: 25
Reputation: 10732
For me this issue was due to the "iOS Deployment Target" Build Setting being different in my test target than my main app. Once I made them the same the problem went away.
Upvotes: 12
Reputation: 2437
Turning off the pod configuration for the test target fixed the problem for me, it had something to do with the pod configuration messing with it.
Upvotes: 1
Reputation: 6788
I found the answer by myself.
Your Build Settings -> Architectures should be same for Library and Test Project
Architectures -> Architectures = Standrad Architectures (armv7 ,armv7s , arm64)$(ARCHS_STANDARD)
Your Test Project's Linking -> Mach-O Type should be Bundle
Linking -> Mach-O Type = Bundle
Do Build and Run Tests. Thats it
Upvotes: 15