I want to split my codebase into a library which I want to upload to github and an GUI application. I hope that using recently introduced SwiftPM is a good idea.
But all examples I've been able to find show creating a console application with swift package init --type executable.
I want to know how to create a skeleton for macOS Cocoa Application with all the pregenerated stuff like assets, storyboard and so on?
It would be great to have access to such useful thing as:
swift package build
swift package test
swift package update
...
Any ideas?
Thank you!
This is my working solution for creating cocoa apps with SPM.
Create your executable version of application: swift package init --type executable
Include your packages in Package.swift
Update/fetch them: swift package updateor swift package fetch
Create your .xcodeproj: swift package generate-xcodeproj
Open your .xcodeproj with Xcode; you'll see it as a console app.
Build your solution (this build will create dependencies: .frameworks, under 'Products')
Click the project name to see the targets
Add a new target by pressing + button below the list, and create your cocoa/gui app
After adding the app, click the app name on the targets list
Under General tab locate Embedded Binaries section.
Press + to add binaries, and select your referenced libraries.
Work on your cocoa app.
When you build, .frameworks will be embedded into .app
If you update your packages.swift, you should repeat above, except creating the new target; you'll just need to add it to the project.
I wanna use some charts in my swift project, actually I was using PNChart before, but now I need to move on to PNChart-swift.
https://github.com/kevinzhow/PNChart-Swift
as the readme saids I added some lines in Podfile, and I
pod install
then I get "no such module PNChart-swift"
I think Pod is cloning the wrong Codes from the PNChart-swift repository.
Is there any way I can clone the codes and use as the library without using Pod?
Thank you.
For manual installation you could just download the repo as zipfile and than drag the .xcodeproj file into your project.
This will create the required reference so that you can use it.
You may also need to add it as embedded framework in your project settings.
I am having awful problems all day trying to import SCLAlertView framework into my iOS 10 project. It is found here: https://github.com/vikmeup/SCLAlertView-Swift
I have tried everything. Copy and pasted the files into the project, added the .framework file as a framework, but I constantly get the error: No such module 'SCLAlertView'
Any advice would be greatly appreciated!
Configuration
2 steps you need to do before using the framework
1- after installing the pod , you need to open the project from now on using the .workspace file (it will be in the same path of your project directory)
2- open the .workspace project and build your project
it will work i tried it now using swift 3.0
I Am able to get the alamofire cocoapod imported into the project, but when I try to use the pod, Xcode does not seem to recognize that it is there.
Edit: I am working from the XCWorkspace
Are you opening the .xcworkspace instead of the xo.xcodeproj?
I'm not entirely sure of your problem, but if they're in your project but you can't use them in code, did you make sure to import them at the top of the file you're trying to use them in?
I want to use google map to existing(not a new one) iPhone project.Now i am using Google map ios sdk and i successfully added google map framework to my project.But i got error like this
ld: framework not found GoogleMaps
clang: error: linker command failed with exit code 1 (use -v to see invocation)
How to solve this issue.I am using xcode4.5 and google map iOS sdk version is 1.5. When i am creating new project with google map iOS sdk then no error getting for me.Error only for existing iOS Project.Please help me.
I solved my issue
You need to do this
Click on your project (targets)
Click on Build Settings
Under Framework search paths (set your framework path)
Following information for getting framework search paths
Right click on your framework folder (for ex: GoogleMaps.framework)
select Get info
copy the path from General->where and paste this path in your framework search path (path should contain in single line)
Good luck
I encountered a scenario in which I had to import a project that was using Google Maps and noticed the same problem - module: "Google Maps" not found.
To solve this problem it was necessary to delete Podfile.lock and Podfile folder and re-install the pods again. Good luck !
You can also :
- remove GoogleMaps from Podfile
- pod install
- add GoogleMaps to your Podfile again
- pod install
This solution works for me, you can also check the search paths a well.
Clean your project. The shortcut is command + shift + k. This will clear information that xcode has stored that might imply that the sdk isn't included.
Also press the project icon at the top of the hierarchy of files, press the target that is your project, press build phases, open link with binary libraries, and make sure that the google maps sdk is in there. If it is not, press + and add it in.
Follow the steps :
Download GoogleMaps-iOS-1.1.0.zip from their site
Unzip the file. You now have a GoogleMaps-iOS-1.1.0 folder
In that folder you have a GoogleMaps.framework folder.
Copy or move the GoogleMaps.framework folder to inside your project folder (in Finder).
Drag the GoogleMaps.framework folder onto your Frameworks group in Xcode.
In the options sheet, uncheck "Copy items into destination group's folder". Make sure your target is checked in "Add to targets". Click OK.
(Note that you can also do this the other way, by not copying it into your project folder and checking "Copy items into destination group's folder". Xcode will copy the folder itself.)
Import using #import "GoogleMaps/GoogleMaps.h". The angle bracket usually work too, but in this case it should use quotes.
From : <GoogleMaps/GoogleMaps.h> file not found Google Maps SDK for iOS
my problem was fixed by adding in:
build settings
Framework Search Paths
clickable and add the following lines:
"${PODS_ROOT}/GoogleMaps/Base/Frameworks"
"${PODS_ROOT}/GoogleMaps/Maps/Frameworks"
If you use Pods
Left menu > Pods > Pods > choose Framework > right menu > copy path from "ios/....."
My: ios/Pods/GoogleMaps/Maps/Frameworks/GoogleMaps.framework
Then Project > Build Setting > Framework Search Path > Click on
$(PROJECT_DIR)/ios/Pods/GoogleMaps/Maps/Frameworks/GoogleMapsCore.framework
Sometimes it happens when you are migrating the code from one system to another so your Framework search paths look empty at this moment, so one simple solution I try is to reinstall the podfile and it works for me.
I've been struggling with this issue for hours; I'm using CocoaPods, Swift and Xcode 6.1.1. I followed all the steps for including GoogleMaps in my project carefully, tried many different things like removing symbolic links in the downloaded package or manually linking the binaries in build phases or trying #include "GoogleMaps.h", #include "GoogleMaps/GoogleMaps.h" and "#include <GoogleMaps/GoogleMaps.h> in my bridge file, none of that worked... Finally used CocoaPods instead of including the framework myself and it worked! Hope it helps someone out there:
In the Podfile:
pod 'Google-Maps-iOS-SDK', '~> 1.9.2'
And in your Bridge file:
#import "GoogleMaps.h"
Delete derived data and delete Podfile.lock file and then run pod install.
Maybe it'll be useful for anybody, next steps helped me:
1. Delete "Headers" and "GoogleMaps" folders manually (from the Finder).
2. Run 'pod install'
3. Re-build the project in Xcode.
In my case, I forgot that I need to open the workspace file with pods, not the project.