I was watching a WWDC video and they have a Swift Package and Swift app in the same project. How do you create that in Xcode? If I create a new Swift Package, I'm not able to add another target in the project.
That was tricky, at first I thought It was created by adding a local swift package. Then I discovered the created structure does not look like your screen capture.
So after research I found it was actually a xcworkspace that joined the swift Package and app together.
How to create it?
First you should create a normal swift package in Xcode with File -> New -> Packages
Then you are going to drag the xcodeproj file of the MyApp to the top of Xcode's left panel. You will be asked if you want to create a xcworkspace? just check yes.
I have uploaded to code to github, take a look at this repo
I am new to Apple and Xcode, I make an application in unity3d and I try to implement AdMob. When I Run for test in xCode I have the error: Library not found for- IGoogleUtilities.
https://imgur.com/a/RTDZPYw
Also when I select "Simulator SDK" from Build Settings/Player Settings/Other Settings the build Button is interactable
Maybe it'il help someone;
"When using Unity 5.6 and above, an xcworkspace is generated that includes the required dependency libraries. Use the generated xcworkspace instead of the standard Xcode project."
Select device SDK from Unity editor.
inside Xcode, You should download and add GoogleMobileAds.framework then rebuild.
Let me know if it helps.
When I create a new OS X "Game" project with Sprite Kit, and set a breakpoint anywhere I can see the variable values just fine:
Then I change the code to import my own framework (TilemapKit) which is a pure Objective-C framework:
import SpriteKit
import TilemapKit
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
print("dang!")
}
}
No other changes made. I'm not even using any of the TilemapKit code (yet). When the breakpoint triggers, I see this:
The entire project stops being debuggable as far as observing variable values goes. This behavior is perfectly consistent. Without the framework import I can debug again.
Since I'm on Xcode 7 beta (7A121l) and OS X 10.11 developer preview I know this could simply be a (temporary) bug.
Command line Tiles are set to use the Xcode 7.0 version btw. I tried enabling modules in the framework target, made sure the deployment target is the same (10.11), disabled symbol stripping. I added a Bridging Header and #imported the TilemapKit framework in it (removing the Swift import in that case would still give me the non-debuggable app, so it doesn't seem to matter how or where I import the framework).
Does anyone have a suggestion on what could cause this behavior and how I might go about fixing it - or at least how I could try to narrow down the issue?
Is the culprit more likely to be connected to the project's vs the framework's build settings? Do I need to enable something in the app project to make it compatible with ObjC frameworks? (I already got -ObjC in the Other Linker flags)
UPDATE:
I ran po self in the debug console and found this notice:
<built-in>:3:6: error: module 'TilemapKit' was built in directory '/TilemapKit.framework' but now resides in directory './TilemapKit.framework'
#define __clang_major__ 7
^
missing required module 'TilemapKit'
Debug info from this module will be unavailable in the debugger.
How come the framework build directory changed? And why would that matter and how to fix this?
PS: the same framework in a new ObjC app can be debugged just fine.
I got a message from an Apple developer stating that they've observed this problem, and that it could be fixed by moving the .framework to a subfolder of the project.
Apparently the module .. was built in directory error appears only if the .framework is in the same folder as the .xcodeproj aka $(PROJECT_DIR).
However moving the framework to a subfolder didn't fix the issue in my case, but it's still worth a try until this gets fixed in a newer Xcode 7 beta (still occurs in beta 3).
In my case this was happening because of redundant import statements in my project.
My project mixes swift and objc files, so I have import statements in the bridging_header.h file.
In my bridging_header.h I had #import blah.h
In one of the swift files, I was importing a redundant header from a framework
#import blah // From blah.framework
I removed the redundant import from the swift file, that seems to have fixed it.
I can confirm this is happening in Xcode Version 7.0 beta 4 (7A165t). I had to remove my ObjC framework to get Debugging values to return. If removing your framework isn't an option, the print method is old-school debugging, but still works.
I had this issue a while ago. In my case the Prefix.pch was beeing included inside the Bridging-Header.h. This is not a issue per so, but inside my Prefix.pch there was many C includes that make the lldb fail to import the Bridging-Header.
So I removed the "#import Prefix.pch" from the Bridging-Header and copied just the "#includes" to the obj-c files that I need to use in swift.
The Optimization level is not set to None for the Debug configuration.
Be sure to set it to None for Objective-C apps as shown in Figure 1 and for Swift apps as shown in Figure 2.
The Build Configuration pop-up menu is set to Release in the scheme editor's Run action settings pane.
In Xcode, open the scheme editor by choosing Product > Scheme > Edit Schemeā¦, select the Run action for your app in the scheme actions pane, then set Build Configuration to Debug as seen in Figure 3.
Go to Edit Scheme on left top corner.
And change the configurations to Debug, if it is release
I'm facing a few problems with Xcode. I have searched around and nothing helps... to make things worst i'm learning everything from scratch. swift, xcode, build mac apps... coming from ruby/rails this is extremely painful!
A while ago all projects started throwing errors like the use of undeclared type 'NSObject' and so on.
I am using Xcode Version 6.1 (6A1052d).
The project still runs if I clean/build it and run. But as soon as I select another file and come back the AppDelegate the errors appear again. Also cmd+clicking just displays "Symbol not found" and autocompletion doesn't work.
I created a new blank project (multiple times) and this still happens. I didn't even touch the code! I have attached two images to show my problems.
The first line error I managed to fix it following Subclass UIApplication with Swift:
Basically I removed #NSApplicationMain from AppDelegate and created a main.swift file with these lines.
import Foundation
import AppKit
NSApplicationMain(C_ARGC, C_ARGV)
this seems to fix the 'NSApplicationMain' class must conform to the 'NSApplicationDelegate' protocol error.
But I can't see how to fix the other errors. Any help please? :) Thanks in advance.
To make it short:
Do never ever give a project a frameworks name! I called my project "CoreGraphics".
Original question:
I cant use CoreGraphics in a newly created simple Single View Application
I start Xcode 6.0.1 (6A317)
New Project: Single View Application: Swift
New File: Cocoa Touch Class "CustomView" of type UIView
I uncomment the template for drawRect(rect: CGRect) {}
Compiler Error: Use of undeclared type 'CGRect'.
import UIKit is in place
I tried to add CoreGraphics to "Linked Frameworks and Libraries"
I already restarted Xcode (and my Mac)
Update
I installed Xcode 6.1 (6A1046a) opened and recreated my simple project.
Same issue: Compiler Error: Use of undeclared type 'CGRect'.
Any further suggestions?
Don't name your Project "CoreGraphics"
Guys you WON'T believe this. Do never ever give a project a frameworks name! I called my project "CoreGraphics". This caused the compiler error. Its reproducable. Issue closed.