I'm making an app for my exam that uses theMapKitView andCoreLocation for getting different locations and adding pins to the map.
But I realized that I hadn't imported the MapKit.framework in the build settings, which I always was told to do. What I don't understand is that everything still works without it. I'm simply using "import MapKit" when I have to use it.
So my question is: Is it really necessary to import the framework in the build settings too? Some of the other students said that theirs dodn't work without it.
Thanks!
When you enabled the "Maps" availability. Xcode automatically linked MapKit for you.
Related
I've looked everywhere and no article gives me exactly the solution I'm looking for.
Is there a way to "install" a custom framework into Xcode?
For example, let's say I've created a framework called 'MyAwesomeFramework' which is really reusable (for example contains a lot of useful UIView extensions). Now what I want to do is be able to just create any new project and type import MyAwesomeFramework to use it, instead of having to add the respective Xcode Project to the project I want to use it in.
Apple Documentation
There are a few different options. You can manually add them via drag and drop or use one of many framework managers such as Carthage or Cocoapods.
Whatever method you choose has a few steps and can be a bit daunting initially so I’d recommend following a tutorial of some sort(I used YouTube). If done correctly you will be able to just import like you would do any other library.
I cannot see the value of variables while debugging my app. I have already checked the build settings and optimization values are set to none, also my Scheme. See screenshots below:
The idea is to remove things from your bridging-header one by one and see if you can narrow down the issue.
I think I read somewhere that if a library is causing many issues behind the scenes, this can stop your debugger working.
In my case
I was using Facebook Tweaks library
Once I got rid of it, I got my debugging back.
and in my AppDelegate.swift
import Tweaks into the AppDelegate file.
import Tweaks
Moved RxSwift library from the Swift package Dependencies to CocoaPod
I think I've accidentally removed some kind of setting or something on a project level. In project A I can see debug info, but in project B I can't see a damn thing while debugging. Local variables can't be expanded to see what they contain, and neither variabels located in self.
As stated earlier, it works fine in one project, but not at all in another. I have no idea what I've done, or how to solve it. I asked around with a few coworkers and none has experienced this before. Kind of need to fix this in order to work efficiently.
Here is a screenshot displaying what I mean:
I don't have any variables in self here, but if I add some or store some, it doesn't work anyway. I can't see anything in self since I can't expand it at all.
Help appreciated!
I found the solution for this. Or rather I found the issue. The issue seems to be with either Xcode 6.4 and above, or GoogleMaps in general. When importing GoogleMaps SDK the debugger stops working properly. Simple as that. Comment out your import of GoogleMaps SDK and the debugger will be back to normal.
Another way of solving this is to bridge GoogleMaps SDK from ObjC to Swift rather than importing it in Swift. I didn't try this, but I saw this as a possible solution here: https://code.google.com/p/gmaps-api-issues/issues/detail?id=8524
Hope it helps someone. Took me days to find this information.
I see there’s many libraries, open source, like Cocos2d, ShareKit, FormatterKit, etc. that seems up to date. (Check GitHub).
But still, implementation, snippets, samples and manual are intended to be written in Objective-C.
But, a method is a method… I think… If I get an instance of any framework/library of these and I call the method in a full Swift enviroment, would I be affected behind the scenes?
After June WWDC Swift gonna get serious, Apple is pushing hard, I’m just getting ready for the move and I don’t want my Apps to implement a soon-to-be deprecated library implementation in Objective-C.
I do not understand your question so much that I will regard your question as "Is it possible to use the Objective-C&Swiftin the same project?"
Yes, Apple claimed that developers can use Bridging-Header to implement double languages development, whatever your main developing language is ObjC or Swift. The specific details and theories about it you shall check from there.
Next I want to tell you some errors occurred in my project when I used Bridging-Header.
I always meet this kind of problem like import 'file not found'. I think you can try to check your file&folder hierarchy. Such as you have a root folder named Project, as is often the case, there is another Project in your previous Project, the root folder.
And Checking the Objective-C Bridging Header in the Build Setting. Sometime error can occurred for Project/Project/Bridging-Header.h. And the error can be corrected by changing the definition as Project/Bridging-Header.h.
If the location of Bridging-Header.h is not matching with the definition in the Build Setting, the error like import file not found will occur.
I just tell your my solution for Bridging issue I already met, I hope it can help you.
I'm having a small issue with xcode (I'm assuming it's mostly due to being unfamiliar with xcode itself) and was hoping someone could lend me a hand.
I'm working with a group of people and we're using the GPUimage framework.
The problem is this:
For every person referencing GPUimage we get additional entries in the build settings for the xcode project.
For example build products path would be:
/Users/username/project/application_name/GPUImage-master/GPUimage.framework
I would rather it be:
/application_name/GPUImage-master/GPUimage.framework
The reason I want to fix this is because we need to package up our application and library together so that whoever wants to use it only needs to open the xcode project file to see what we've done (to mark it, school project).
Can anyone suggest what I should do or look for here?
Try adding the following to the beginning of the user path:
$(SRCROOT)/application_name/GPUImage-master/GPUimage.framework
That should instruct XCode to use the user path of whoever is using the library
Hope this helps!