Restkit fails when I update architecture to arm64

2020-07-24 04:53发布

When I update my project architecture to 64 bit these issues appear. My deployment target is 7.1.

Undefined symbols for architecture x86_64: "OBJC_CLASS$RKClient", referenced from: objc-class-ref in AppDelegate.o objc-class-ref in SSRSuggestion.o "_OBJC_CLASS$RKObjectManager", referenced from: objc-class-ref in CinemaDetails-3BD8C6BC69EF1F23.o objc-class-ref in AppDelegate.o objc-class-ref in HomeScreen.o objc-class-ref in MovieDetails.o objc-class-ref in CinemaFilter-46E8309ACAC69139.o objc-class-ref in FilterView.o "_OBJC_CLASS$RKObjectMapping", referenced from: objc-class-ref in Cinema.o objc-class-ref in Movie.o objc-class-ref in Filter.o objc-class-ref in AppInfoModel.o "_OBJC_CLASS$RKParserRegistry", referenced from: objc-class-ref in SSRSuggestion.o "_OBJC_CLASS$RKRequestQueue", referenced from: objc-class-ref in CinemaDetails-3BD8C6BC69EF1F23.o objc-class-ref in AppDelegate.o objc-class-ref in MovieDetails.o "_OBJC_CLASS$_RKRequestSerialization", referenced from: objc-class-ref in SSRSuggestion.o "_RKMIMETypeJSON", referenced from: -[SSRSuggestion send_btn_pressed:] in SSRSuggestion.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

1条回答
家丑人穷心不美
2楼-- · 2020-07-24 05:35

Seems you have an old version of RestKit. Easiest way probably is to use CocoaPods. Open terminal, type:

$ sudo gem install cocoapods

Then go to your project folder in terminal and type:

$ pod init

Open .podfile and insert this line:

pod 'RestKit', '~> 0.24'

Save and quit the file. In terminal write:

$ pod install

From this time you should use .xcwrokspace instead of .xcproj. You should also remove old version of RestKit.


Another option is to use git submodules or hg subrepos. I won't type tutorial how to do it here, as it's too much to write, cocoapods are easier for someone new.


Another option is to download and add to your project newer RestKit version "from hand" - drag & drop. I don't recommend this way, as you never know which version you're using and you can't see that there are new updates to used frameworks (what obviously often fixes bugs).

查看更多
登录 后发表回答