NimbleKit - fast iOS app development

New NimbleKit version installation

Please post here if you think only NimbleKit developers can solve your problem

New NimbleKit version installation

Postby Andy Baird » Sun Jun 07, 2009 1:09 am

I just downloaded and installed version 1.3 (latest version as of 6/6/2009), as well as the tutorial project #2 (thank you!). The tutorial compiled and ran just fine. But now my own project, built under NimbleKit 1.2, won't compile. I get these errors:

----------------
Building target “NMSP” of project “NMSP” with configuration “Debug” — (3 errors, 1 warning)
Checking Dependencies
Warning: Multiple build commands for output file /Users/abaird/Documents/Projects/iPhone projects/New Mexico State Parks/NMSP 2/build/Debug-iphonesimulator/NMSP.app/NMSP-icon.png
Warning: Multiple build commands for output file /Users/abaird/Documents/Projects/iPhone projects/New Mexico State Parks/NMSP 2/build/Debug-iphonesimulator/NMSP.app/NMSP-icon.png
cd "/Users/abaird/Documents/Projects/iPhone projects/New Mexico State Parks/NMSP 2"
setenv MACOSX_DEPLOYMENT_TARGET 10.5
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk "-L/Users/abaird/Documents/Projects/iPhone projects/New Mexico State Parks/NMSP 2/build/Debug-iphonesimulator" "-L/Users/abaird/Documents/Projects/iPhone projects/New Mexico State Parks/NMSP 2" -L/Library/Frameworks "-F/Users/abaird/Documents/Projects/iPhone projects/New Mexico State Parks/NMSP 2/build/Debug-iphonesimulator" -filelist "/Users/abaird/Documents/Projects/iPhone projects/New Mexico State Parks/NMSP 2/build/NMSP.build/Debug-iphonesimulator/NMSP.build/Objects-normal/i386/NMSP.LinkFileList" -mmacosx-version-min=10.5 -framework Foundation -framework UIKit -framework CoreGraphics -framework AddressBook -framework CFNetwork -framework AudioToolbox -framework AVFoundation -framework SystemConfiguration -lNimbleKit -o "/Users/abaird/Documents/Projects/iPhone projects/New Mexico State Parks/NMSP 2/build/Debug-iphonesimulator/NMSP.app/NMSP"
Undefined symbols:
".objc_class_name_CLLocationManager", referenced from:
literal-pointer@__OBJC@__cls_refs@CLLocationManager in libNimbleKit.a(NKCLController.o)
".objc_class_name_ABPeoplePickerNavigationController", referenced from:
literal-pointer@__OBJC@__cls_refs@ABPeoplePickerNavigationController in libNimbleKit.a(NKAction.o)
"_kCLErrorDomain", referenced from:
_kCLErrorDomain$non_lazy_ptr in libNimbleKit.a(NKCLController.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
".objc_class_name_CLLocationManager", referenced from:
literal-pointer@__OBJC@__cls_refs@CLLocationManager in libNimbleKit.a(NKCLController.o)
".objc_class_name_ABPeoplePickerNavigationController", referenced from:
literal-pointer@__OBJC@__cls_refs@ABPeoplePickerNavigationController in libNimbleKit.a(NKAction.o)
"_kCLErrorDomain", referenced from:
_kCLErrorDomain$non_lazy_ptr in libNimbleKit.a(NKCLController.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
Build failed (3 errors, 1 warning)
----------------

That was copied and pasted directly from Xcode's "Build Results," but it's much more verbose than what I see in the dialog. (Has Apple forgotten how to do WYSIWYG?) I hope it'll make more sense to you than it does to me. Anyway,

Suggestions?

Andy Baird
Andy Baird
User avatar
Andy Baird
 
Posts: 113
Joined: Sat May 30, 2009 10:32 pm
Location: On the road in the southwestern US

Re: New NimbleKit version installation

Postby sunny » Sun Jun 07, 2009 1:31 am

the functionality was greatly extended with new frameworks and projects created with old template don't link to those frameworks
also NKit.js file was changed, now it's not in every project separately but in fixed system location just like the library, so all projects use same file and updater will update everything correctly.
Solution 1: recreate project with new template and copy resources, easiest.
Solution 2: manually link with new frameworks and link to new NKit.js file, to do so you need to collapse disclosure triangle "Frameworks"->right click->Add->Existing Frameworks->"/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk/System/Library/Frameworks"->Choose "AddressBookUI.framework" and "CoreLocation.framework". This will fix errors, then remove your NKit.js file from your project completely (Move to trash) and drag&drop new NKit.js file from /Library/Frameworks/NKit.js NOT COPYING to project, so every time nimblekit is updated this file in the system will be updated and all project linked to this file will update automatically in future.
User avatar
sunny
Staff
 
Posts: 2704
Joined: Sat May 30, 2009 5:18 am
Location: Palo Alto, California

Re: New NimbleKit version installation

Postby Andy Baird » Sun Jun 07, 2009 5:02 pm

"Solution 1: recreate project with new template..."

OK, but that brings up my next question: where is it? After running the installer, I can't see where the new files have been placed. Looking at Developer/Examples/NimbleKit, where the old version was placed, I see no files newer than 30 May. So where is all the new stuff?

Folks, you really need to provide installation instructions--especially when, as in this case, a new version of NimbleKit is going to break old projects! Not all of your customers are iPhone SDK experts. Take me, for example: although I've been programming computers since 1966, I had never used this SDK until last week when I bought NimbleKit.

Please, when you release a new version, include a "Read me" file that explains how to install it, where the files are going to be placed, and whether it will affect existing projects. Old customers and new ones will be grateful! :-)

Andy Baird
User avatar
Andy Baird
 
Posts: 113
Joined: Sat May 30, 2009 10:32 pm
Location: On the road in the southwestern US

Re: New NimbleKit version installation

Postby sunny » Sun Jun 07, 2009 5:17 pm

on the web-site we wrote under "New features" that projects from older versions of NimbleKit have to be recreated with new template, but I agree that it's important to have readme file included with NimbleKit versions.
NimbleKit installer no longer installs sample code to /Developer/Examples instead we writing tutorials and publish them to tutorials section with complete source code as archive of whole project.

P.S.
I will publish Virtual DJ radio tutorial today
User avatar
sunny
Staff
 
Posts: 2704
Joined: Sat May 30, 2009 5:18 am
Location: Palo Alto, California

Re: New NimbleKit version installation

Postby Andy Baird » Sun Jun 07, 2009 5:58 pm

"NimbleKit installer no longer installs sample code to /Developer/Examples instead we writing tutorials and publish them to tutorials section with complete source code as archive of whole project. "

I assume you mean the tutorials section of the NimbleKit website, and that's a good idea.

But I'm not worried about the sample code right now. My question is: where on my hard drive is the new NimbleKit 1.3 template that I just installed? Where did your installer put it? I tried looking at the installer's log, but couldn't find where the new files had been placed.

I can rebuild my project with the new template as you suggested, but first I have to know where the new template is. :-)

Andy Baird
Andy Baird
User avatar
Andy Baird
 
Posts: 113
Joined: Sat May 30, 2009 10:32 pm
Location: On the road in the southwestern US

Re: New NimbleKit version installation

Postby sunny » Sun Jun 07, 2009 6:12 pm

the template automatically integrates to Xcode with installation so all you need to do is quit Xcode, install NimbleKit then open Xcode and go File->New Project->NimbleKit template, it will be already updated there using all functionality of latest version, then just drag & drop your files from old project.
So you don't need to know where template is stored on the disk or similar, but if you want to know it just for curiosity it is stored in /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project\ Templates/Application
the actual object library and NKit.js files are located in /Library/Frameworks, nothing else is installed by installer at the moment.
User avatar
sunny
Staff
 
Posts: 2704
Joined: Sat May 30, 2009 5:18 am
Location: Palo Alto, California

Re: New NimbleKit version installation

Postby Andy Baird » Sun Jun 07, 2009 6:20 pm

"open Xcode and go File->New Project->NimbleKit template, it will be already updated there using all functionality of latest version, then just drag & drop your files from old project."

Ah! Thank you, I'll do that. Do you expect that each future version of NimbleKit will require rebuilding all existing projects in this way? That could be tedious, especially with larger, more complex projects. Could the process of updating existing projects be automated?

Andy Baird
Andy Baird
User avatar
Andy Baird
 
Posts: 113
Joined: Sat May 30, 2009 10:32 pm
Location: On the road in the southwestern US

Re: New NimbleKit version installation

Postby sunny » Sun Jun 07, 2009 6:36 pm

NKit.js and object library will be updated automatically and if frameworks are added there is no way to update it automatically, but I will find a way to do it with 1 drag&drop. With release of iPhone OS 3.0 new frameworks will be added in NimbleKit to wrap 3.0 functionality so this issue will come up once again, after that never again, all updates will work just fine for all projects.
User avatar
sunny
Staff
 
Posts: 2704
Joined: Sat May 30, 2009 5:18 am
Location: Palo Alto, California


Return to Support

Who is online

Users browsing this forum: No registered users and 1 guest