Kodi Community Forum

Full Version: Unable to change the PRODUCT_NAME in XCode
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
I've been trying to build Kodi on my iPad using XCode but it wouldn't allow me to because of this annoying buggy. I'm unable to change the product name also (in the build settings). I'm an official apple dev. Never had such problems like this before. Anyone knows why?

Image
Looks like you didn't follow docs/README.ios - you need to compile all the depends and stuff before building Kodi with Xcode.
Hi Memphiz,

Just tried to build Kodi with latest XCode 7 and I'm getting this error : /Users/<user>/Kodi/xbmc/addons/AddonVersion.h:22:10: 'boost/operators.hpp' file not found

I followed all instructions inside of the README.ios and compiled all dependencies.

Maybe one of the paths changed ?

Thanks!

Got it fixed and now Kodi runs on my non-jailbroken iPhone! Smile


EDIT


How to fix it ?

Well the new XCode was made for the iOS 9 but Kodi dependancies are for the 8.3
To fix it you need to go to the Kodi Project > Build Settings > User-Defined (at the bottom of the Build Settings)
Next all you need to do is to edit the value of the XBMC_DEPENDS field and change this :
Code:
$(XBMC_DEPENDS_ROOT)/$(SDK_NAME)_$(CURRENT_ARCH)-target
to this :
Code:
$(XBMC_DEPENDS_ROOT)/iphoneos8.3_armv7-target

You can check if the directory name iphoneos8.3_armv7-target is proper by going to the /Users/Shared/xbmc-depends/

I was also getting error about Undeclared Identifier free() but you can fix it by adding :
Code:
#include <stdlib.h>

at the top of the Kodi/Source/xbmc/linux/XFileUtils.cpp

After this, everything compiled fine and works great! Smile
Nice work newkind.
Always wanted to put Kodi on to my iPad without having to Jailbreak Smile
1. the fix is wrong - the real fix is to tell depends to use the same sdk as selected in Xcode - this is also mentioned in the readme (yours is selecting 8.3 because its not yet prepared for ios sdk9 i think - just select ios 8.3 in xcode then and it should work).
2. The need of jailbreaking is non-existent for ios developers which have a certificate since years. Nice that its now possible for those without too.
3. saves me 89 euro a year - yay Wink

Thx for confirming that it still builds on Xcode7...
I hope it's ok to ask this here...

I have never used Kodi for iOS other than on my Jailbroken Apple TV2, I used to be at the front of the Jailbreak queue for my iPhone and iPad but don't bother these days so now I can install Kodi on them is great news.

For me to get it installed do I have to compile it myself or can I use an official pre-built deb file (I am updating to Xcode 7 atm), also is it possible to use the same NAS shares as I do with my other Kodi devices?
As far as I can tell, using xcode 7 will require a user to actually compile Kodi, instead of using a deb/precompiled binary.

You should be able to use NAS and other network file shares in that situation.
Great Success for me and my iPad3, portable Kodi and HD TV Wink
I've Never used Xcode before, this is Fanatastic and long overdue from Apple IMHO.
Who would have thought Appple would ever SAVE me money !

Additional Tips for Newbies...
- After going into XCode > Preferences > Accounts > Entering Apple ID and Password >
Make sure compilers read this text completely in the Readme.ios on GitHub:

7. Usage/Development on un-jailbroken devices (only interesting for official apple developers!)

in Build Settings > Code Signing Identity. I selected my IPhone Developer: appleID (signing code)
in 4 spots revealed after clicking the small triangle.

Also in General > Bundle Identifier I had to edit the Text to "org.xbmc" so it corresponded to the Provisioning Profile of "iOS Team Provisioning Profile: org.xbmc" present in Build Settings. I was unable to build until this was fixed.

http://bouk.co/blog/sideload-iphone/

There were 393 warnings in total after I finished building, a lot of deprecated stuff.
I compiled all the depends and binary-addons before starting up Xcode7 in step "4.1 Using Xcode"

Just follow the Readme.ios and even Newbs will be fine. Smile
is there step by step instruction for the sideloading for the brand new person.
I got Xcode 7 beta installed and signed in with my apple id, found the github page but still not exactly sure where to go from here, the readme.ios on github didn't help much.
Thank you in advanced.
There is no sideloading. There is only compiling the app from source code. We're happy to help people do this, but we're not going to spoonfeed people about this. Yes, this allows Kodi for non-jailbroken iDevices, but it still requires people to put in some effort to make it work.
I am just having a go myself, I have used Xcode before for building small stuff for Mac so hopefully it won't be all alien to me!
After:
./boostrap
./configure --host=arm-apple-darwin --with-sdk=8.3
./make

im getting this:

Code:
Linking CXX executable ../bin/ccmake
ld: warning: ignoring file /Library/Frameworks/libcurl.framework/libcurl, missing required architecture x86_64 in file /Library/Frameworks/libcurl.framework/libcurl (2 slices)
Undefined symbols for architecture x86_64:
  "_curl_easy_cleanup", referenced from:
      cmFileCommand::HandleDownloadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
      cmFileCommand::HandleUploadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
      (anonymous namespace)::cURLEasyGuard::~cURLEasyGuard() in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
  "_curl_easy_init", referenced from:
      cmFileCommand::HandleDownloadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
      cmFileCommand::HandleUploadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
  "_curl_easy_perform", referenced from:
      cmFileCommand::HandleDownloadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
      cmFileCommand::HandleUploadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
  "_curl_easy_setopt", referenced from:
      cmFileCommand::HandleDownloadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
      cmFileCommand::HandleUploadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
  "_curl_easy_strerror", referenced from:
      cmFileCommand::HandleDownloadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
      cmFileCommand::HandleUploadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
  "_curl_global_cleanup", referenced from:
      cmFileCommand::HandleDownloadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
      cmFileCommand::HandleUploadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
  "_curl_global_init", referenced from:
      cmFileCommand::HandleDownloadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
      cmFileCommand::HandleUploadCommand(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libCMakeLib.a(cmBootstrapCommands1.cxx.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[5]: *** [bin/ccmake] Error 1
make[4]: *** [Source/CMakeFiles/ccmake.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [x86_64-osx-native/bin/cmake] Error 2
make[1]: *** [cmake-native] Error 2
make: *** [native/.installed-x86_64-osx-native] Error 2[/align]

Tried to go further but its saying me libkodi.so is missing
(iMac Yosemite OSX v10.10.3)
Install XCode7 beta first.

Then use the Mac OSX app called Terminal....

Copy and paste the commands from the Readme.ios.... ie... $ cd $HOME ...
copy and paste .... cd $HOME .... into the Terminal Window.

Make sure you choose the correct sdk version to match the iOS version you are running on your iPhone/iPad (8.1,8.2,8.3 etc) when you get to this step: ./configure --host=arm-apple-darwin
use...
./configure --host=arm-apple-darwin --with-sdk=8.0 (or 8.1,8.2 or 8.3)

Complete all the copy and paste steps in the Readme.ios and then go into Xcode7 app when you get to "4.1 Using Xcode"

Tip: when you get to the "make" commands use Multicore compilation to speed up the process, example:
make -j4 (for a 4 core Mac)
make -j4 -C target/binary-addons
It's currently running "make -j4 -C target/binary-addons" ...so far so good!
Which buildtools did you use? The 7er or the 6.xxx?
Pages: 1 2 3