Xcode Adding 3rd Party Code To My Project - ios

Sorry, I'm an Obj-c noob so I'm probably just missing something simple...
I'm trying to add the code in this question to my project. I want to have a simple facebook photo chooser. What does he mean when he says, "And Implement FBImagePickerDelegate delegate with delegate method imagePickingFinishedWithImage: (which is required)."?
Facebook Photo Picker Controller for iOS (similar to the Places Picker controller)
I've added the files to my project but am getting some errors. For one, it doesn't understand FBSession, which was easy to fix by importing the facebook SDK, then however I get another error.
No visible #interface for UIImageView declares the selector 'setImageWithUrl' on this line...
[objCell.imgAlbumCoverPhoto setImageWithURL:urlPhoto];

objCell.imgAlbumCoverPhoto is that a subclass of UIImageView? because UIImageView have no method called setImageWithURL by default. Then you probably havn't imported the headerfile for that class correctly.

Related

Could not load NIB in bundle...MSSTabBarCollectionViewCell

I have a Swift iOS project and I installed MSSTabbedPageViewController using CocoaPods. I successfully:
Created an Objective-C Bridging Header
Made one of my ViewControllers a subclass of MSSTabbedPageViewController and implemented the required methods
But When I click the tab that is supposed to present the MSSTabbedPageViewController, the app crashes and gives me the error from the title of this question.
How do I fix this?

Storyboards in Xcode 6

I have recently started to learn iOS with obj-c from "iOS Programming The Big Nerd Ranch Guide 4th Edition". This edition was released in 2014 and is written with Xcode 5.
I am trying to make a simple app with two buttons and two labels. The labels are connected to two arrays and when a button is pressed an object from the corresponding array is shown in the corresponding text label (it's the Quiz app in chapter 1).
I created the project as a Single View app in Xcode 6, and put all my objects in the view controller class. I have two labels two buttons two arrays and an int to keep track of the object that has to be displayed from the array.
In the book it says that I should initialize the arrays in the initWithNibName method. I tried that but for some reason it never gets called. So I changed the initialization of the arrays to the init method. They initialize fine but when they are called from another method they are nil. Do you have any idea why this is happening?
The second issue I'm having is that I can't manage to get the contents of the storyboard on screen. It says that I'm supposed to make an instance of the ViewController inside the AppDelegate and make it the root window controller but all I get is a white window (or black in case I don't set the color).
UPDATE: I changed the intialization of the arrays from the init method to the viewDidLoad method and now they seem to be working fine. Nothing on the screen though.
It sounds like you're initializing your UIViewController from the app delegate AND a storyboard. If you create a new project in XCode, a "Single view application", you won't have to touch the app delegate at all in order to get something on the screen.
I believe both your problems are related to this, since it sounds like you're seeing an empty UIViewController on the screen (the one you create in the app delegate)
As for the initialization of your array, viewDidLoad is a popular place to do this.
If you are using storyboards, the method initWithNibNameOrNil will not be called. In the BNR book, it teaches you to use XIB files, which do use this method. If you are trying to follow the tutorials, I would suggest using XIB files.
For use of a book, I would suggest downloading whatever version of Xcode is being used for that book -- otherwise you will be running into a lot of confusing problems while learning.
If you would like to download previous version of Xcode, refer to this post:
How to download Xcode DMG or XIP file?

Bringing In An Outside Project Made Through Code To An Xcode Project Made With Storyboard

I currently have an Xcode project that uses storyboard and I have an Xcode project in which I followed a tutorial and made a simple weather view controller. This Weather view controller uses CocaPods and requires that I use .xcworkspace whereas in my previous Xcode project (the one in which I am making via storyboard) I have been using the .xcodeproj file. I am trying to bring the weather view controller project into my storyboard Xcode project. Hopefully, I will have a button on one particular view controller link to the Weather View Controller that was initially created in another application.
I have asked a previous question in regards to a project like this but with no luck. The previous question can be seen here: combining-two-xcode-projects-one-with-code-and-one-without
In order to test the one answer I as given on that previous question I went about and created a blank Xcode Project from scratch, uploaded all of the .h and .m files, and then went into terminal (I am using mac) and programmatically the pods. The pods installed perfectly. I then put down a button and used the IBAction mentioned in the question I posted the link to above:
//When the button is tapped
-(IBAction)buttonTapped:(id)sender
{
//initialize the code only controller
WXController *WXController = [[WXController alloc] init]
//present the view
[self presentViewController:WXController animated:YES completion:nil];
}
I then ran the project and came across this error that highlighted this piece of code:
WXController *WXController = [[WXController alloc] init]
The error stated:
"No Visible #Interface for 'WXController' declares the selector alloc"
Just to make sure nothing else worked, I also tried to open the same project with .wcworkspace and came across the same error which I wasn't able to figure out.
I figured it must have been a button with the linking of the view controller with the button so not only did I post prior to this but I also did my own research and didn't have any luck as well. I checked out these posts:
How to combine two projects into one project
Loading a storyboard from a different Xcode project
Just to make the question I'm asking more clear, I included a link to the Weather Xcode Application I am trying to link to my storyboard application. You should be able to open the application here: Link
I was wondering: What exactly am I doing wrong that is providing me with the "No Visible #Interface for 'WXController' declares the selector alloc" error and even if this is fixed, am I missing something or should the view controller display properly.
Also, I have previously been using the .xcodeproj for my storyboard Xcode application. Is it necessary that once I bring this Weather view controller in, I must switch to .wcworkspace? and if so, what is the difference/ positive/ negatives of each?

UIButton appears different on runtime

I just added a button to the storyboard, but when I run the simulator it appears like in the following picture:
Can someone explain me why this is happening ? For the record I am using Google+ Platform for IOS sdk.
Is kinda weird. Did you set it up programmatically on your view controller class? if not, try adding it programmatically.
The problem is that if you include GooglePlus.bundle in your project, the button will appear like that. It includes the GPPSignIn button.

Runtime error: Unrecognized selector sent to instance

I'm new to using a mac and iOS development. Today I followed this tutorial on to a how to bind data to a table view by making use of Prototype cells and the Story Board. I've got up to the part of the tutorial where I should be able to run the app so the bound data shows up in the UITableView like this:
My app compiles fine, but as soon as it starts running it hits a runtime error:
[ViewController viewControllers]: unrecognized selector sent to instance
I have tried going through the tutorial several times now. I've followed the tutorial exactly as it says and have even created 3 different projects from scratch to make sure that nothing is going wrong. Can anybody help me fix the error? I've spent hours trying to work out what's going wrong, and I don't want to give up now as iOS development seems so exciting compared to other platforms!
Unrecognized selector means that there is an undefined method being called.
One thing to do is to see if there are any compiler warnings. Does it give you any? Have a look, it may give you a clue what is undefined.
The tutorial refers to ViewController class. It looks like that this class is used briefly at the start of the tutorial but then it is replaced with another class. You may remove this class later on altogether. Check if you wire tab bar controller properly. have you set it to be "an entry point"?
Check the storyboard. Where does an incoming arrow point to? Compare two images below. First has the entry arrow pointing to ViewController (my guess), second - the arrow point to Tab Bar Controller
.
At some point (without the code is hard to tell where) you are getting a reference to a ViewController, treating it as a UITabBarViewController.
viewControllers is a method of UITabBarViewController but you are invoking it on a ViewController.
You probably have something like
UITabBarViewController *tabBarVC = (UITabBarViewController *)[something aMethod];
tabBarVC.viewControllers...
So it compiles fine, but it rightfully crashes at runtime.

Resources