iOS Project Update Xcode 4.2 to Xcode 4.5

2020-03-15 08:25发布

问题:

In my Project I have done 90% development using XCode 4.2 (was only need to support 4.x,5.x), Now I need to Build for iOS 6 as well, so I switched to Xcode 4.5 & iOS 6. But I am facing lots of issues like framework error for "Sqlite3", "MobileCoreServices"

I have read below Thread but no success.

How to make Xcode 4.5 project work on previous version of Xcode?

Xcode linker Directory not found for option

Can anyone please tell me How can I compile "Sqlite3", "MobileCoreServices" frame work for ARMV7 & ARMV7S. I cant remove both from project, Since I have done almost :(

回答1:

There are uncertainties for the exact reason behind this but your problem can be solved by any of the cases provided below.

Case 1 :

It may be due to any missing library like libsqlite3.dylib and libsqlite3.0.dylib or MobileCoreServices, so copy these files from any other computer and place these files in your computer.

Procedure:

1:Open xcode on the computer where these files exists, add libsqlite3.0.dylib in your project from link binary with libraries. 2: Right click on the libsqlite3.0.dylib and show in finder (same for MobileCoreServices). 3: Copy two files libsqlite3.0.dylib and libsqlite3.dylib and place on the same location on other computer where these files are missing.

Here you go, The problem may be solved in this way.

Case 2: Reinstall XCode again it may work properly

Case 3: Check this answer

Hope it helps you.



回答2:

When click on your project in the project explorer, for each target, select that target. Then in the build phase, in the link with binary libraries, check your framework links.

If you have simple problem, you can remove and add the libraries again.

If the library is not built for arm7s, then goto target's archtecture, in the valid architectures, set it armv7 only. See if this remove the problem. if it is, then the frameworks needs to be build for armv7s.



回答3:

Try deleting this framework.. add it once again from sdk 6.0 (target -> build phase)



回答4:

Mangesh, Since you are updating the project to iOS 6, it is normal that your frameworks go missing some times. In order to add them, please go to build phases and then open the tab Link with binaries and add both the missing files as shows in the screen below.

It should help you add the libraries and you are ready to build it. If you are still facing problems, you can also add the Framework search paths (This will be your local path for the frameworks) for the project under the Build settings. And also please make sure that the framework paths are recursive.



回答5:

In your .pch file, add the following

#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>


回答6:

sqlite 3 and MobileCoreServices are available with ios 6.

  • Remove red references
  • Go in Targets properties -> Build Phases, section Link Binary With Libraries
  • Click on Add button and add libsqlite3.dylib & MobileCoreServices.framework.

    If libsqlite3.dylib is not available in the list. Open your xcodeproj with a text editor then search and destroy hidden references to libsqlite3. And try again.

Vivien