A solution for this is to make some changes in build settings:
1) Change Architectures from "Standard Architectures (armv7, armv7s, arm64)" to "ARCHS = armv7 armv7s" 2) Change Build Active Architectures Only to "No" 3) Keep existing Valid Architectures as "arm64 armv7 armv7s" so that it works on 64-bit iPhone too.
Same issue here. Unfortunately, the fix above doesn't work for me. It seems the real problem here is that gamekit.mm is using a number of things that were deprecated in iOS 7, and seem to now be eliminated entirely in iOS 8.
I'm presently parsing through gamekit.mm and updating deprecated calls. I'll keep you updated if/when I'm able to successfully compile again. Keep in mind that these updates will absolutely break any compatibility with any version of iOS lower than 6.0. No biggie, as I believe the adoption rates for both iOS 6 and 7 were quite high.
Well..... This compiles. Full disclosure; I'm no Objective-C pro by any means, and I presently have no means of testing this, as I'm not ready to start iTunes Connects infamous time limit for submitting a binary.
I made changes to authenticate(), which I'll admit I have no confidence in whatsoever. Use at your own risk!
Now for more bad news. Although this compiles, and my app runs just fine (though I can't test Game Center), it appears that at least landscape mode is also broken in iOS 8.
As for testing leaderboards (and any other functionality of you app), and potentially address the landscape problem, I would make a custom build of the Gideros Player. Here is how:
1. Copy and paste the GiderosiOSPlayer project to a new folder 2. Add any required plugins 3. In XCode, rename the project to the exact same name as your "real" app by double clicking the project name
Here is the magic: XCode will then do the hard work of renaming assets for you.
The Gideros Player ipa now acts as a copy of your game, and when installed on your device it will think it is the actual game. All plugins will work as if the game was downloaded from the app store.
1) Change Architectures from "Standard Architectures (armv7, armv7s, arm64)" to "ARCHS = armv7 armv7s" 2) Change Build Active Architectures Only to "No" 3) Keep existing Valid Architectures as "arm64 armv7 armv7s" so that it works on 64-bit iPhone too.
Nice writeup @vitalitymobile! Should help anyone with these teething issues of XCode 6.
On a related note, will these changes to gamekit.mm now be added to the latest version of Gideros? How will public Gideros releases work now when it's open source?
Ive been trying to build with Xcode 6 to iphone6 but not getting anywhere. I followed the steps above but it now shows 93 errors, the first being:
Undefined symbols for architecture x86_64: "GReferenced::unref()", referenced from:
I was a little confused with step 5, am I supposed to change the reference to the project root to recursive and leave the other two (plugins and inherited) or delete all but the main root folder? or set them all to recursive?
Are all 5 steps required to do a build of guiders player? Also I tried to find a github update with this fix but couldn't see one.
If you haven't guessed I have no idea what I'm doing so any help or clarification on the steps get this running would be greatly appreciated.
I'm not sure why it would be building for x86_64 in the first place. iOS devices use ARM processors. You only need to build for armv7 and armv7s if you want to support everything from the iPhone 3GS and forward. Note that XCode 6 will also attempt to build for arm64, which the Gideros library doesn't currently support, so you'll have to remove that option from your "architectures" field in your build settings if it's there.
... Unless you're attempting to build the Mac player app for your iPhone? Come to think of it, I haven't actually attempted to build the player app for an actual device yet; not from the GitHub source, anyway.
Comments
I have same problem when run on ipad air , and found this:
http://giderosmobile.com/forum/discussion/4622/export-ios-project-doesnt-build-on-xcode-5-1-and-ios7-1-sdk-/p1
A solution for this is to make some changes in build settings:
1) Change Architectures from "Standard Architectures (armv7, armv7s, arm64)" to "ARCHS = armv7 armv7s"
2) Change Build Active Architectures Only to "No"
3) Keep existing Valid Architectures as "arm64 armv7 armv7s" so that it works on 64-bit iPhone too.
Did you have exactly the same error message in the file gamekit.mm?
My build settings seem right, but I still get these errors:
I made changes to authenticate(), which I'll admit I have no confidence in whatsoever. Use at your own risk!
https://drive.google.com/folderview?id=0Bwu9W6N9BG7qYVZ4VUNUeklSNUk&usp=sharing
Now for more bad news. Although this compiles, and my app runs just fine (though I can't test Game Center), it appears that at least landscape mode is also broken in iOS 8.
static int luaL_checktimescope(lua_State* L, int index)
static int luaL_checkplayerscope(lua_State* L, int index)
and change them to:
static GKLeaderboardTimeScope luaL_checktimescope(lua_State* L, int index)
static GKLeaderboardPlayerScope luaL_checkplayerscope(lua_State* L, int index)
You're just exchanging the int(s) and allowing the SDK to define what those methods return.
You'll still be using a number of deprecated features that could disappear at any future iOS release, but you should be good for now.
Likes: vitalitymobile, MobAmuse, SinisterSoft, bali001
As for testing leaderboards (and any other functionality of you app), and potentially address the landscape problem, I would make a custom build of the Gideros Player. Here is how:
1. Copy and paste the GiderosiOSPlayer project to a new folder
2. Add any required plugins
3. In XCode, rename the project to the exact same name as your "real" app by double clicking the project name
Here is the magic: XCode will then do the hard work of renaming assets for you.
The Gideros Player ipa now acts as a copy of your game, and when installed on your device it will think it is the actual game. All plugins will work as if the game was downloaded from the app store.
Niclas
Likes: vitalitymobile, MobAmuse
So i have some notes here for anyone have same issue:
1. http://giderosmobile.com/forum/discussion/4622/export-ios-project-doesnt-build-on-xcode-5-1-and-ios7-1-sdk-/p1
1) Change Architectures from "Standard Architectures (armv7, armv7s, arm64)" to "ARCHS = armv7 armv7s"
2) Change Build Active Architectures Only to "No"
3) Keep existing Valid Architectures as "arm64 armv7 armv7s" so that it works on 64-bit iPhone too.
2. http://giderosmobile.com/forum/discussion/5296/gamekit-mm-errors-with-xcode-6#Item_9
If you want to go the safe(r) route, find these two lines in gamekit.mm:
static int luaL_checktimescope(lua_State* L, int index)
static int luaL_checkplayerscope(lua_State* L, int index)
and change them to:
static GKLeaderboardTimeScope luaL_checktimescope(lua_State* L, int index)
static GKLeaderboardPlayerScope luaL_checkplayerscope(lua_State* L, int index)
3. Rename GiderosiOSPlayer to other project
http://beageek.biz/how-to-rename-project-xcode/
http://beageek.biz/rename-xcode-project-source-folder/
4. you need to add -ObjC to the Other Linker Flags of your application target's build setting
http://giderosmobile.com/forum/discussion/4212/ads-interface-issue/p1
5. http://giderosmobile.com/forum/discussion/4967/compiling-admob-for-ios-using-ads-interface/p1
"$(SRCROOT)/your_folder" recusive
6. Admob 6.12 require:
AdSupport
AudioToolbox
AVFoundation
CoreGraphics
CoreTelephony
EventKit
EventKitUI
MessageUI
StoreKit
SystemConfiguration
Likes: dominikusdp
On a related note, will these changes to gamekit.mm now be added to the latest version of Gideros? How will public Gideros releases work now when it's open source?
Likes: vitalitymobile
I followed the steps above but it now shows 93 errors, the first being:
Undefined symbols for architecture x86_64:
"GReferenced::unref()", referenced from:
I was a little confused with step 5, am I supposed to change the reference to the project root to recursive and leave the other two (plugins and inherited) or delete all but the main root folder? or set them all to recursive?
Are all 5 steps required to do a build of guiders player?
Also I tried to find a github update with this fix but couldn't see one.
If you haven't guessed I have no idea what I'm doing so any help or clarification on the steps get this running would be greatly appreciated.
Here is the workaround: http://stackoverflow.com/questions/29692487/xcode-6-3-is-crashing-on-project-rename
Likes: vitalitymobile