- Open a bash window in Windows 10 (Start + “bash”)
- Connect to the Mac using ssh [username]@[ipaddress]
- e.g. “ssh email@example.com”
- If you get an error saying “Connection refused” then you’ll need to go to “System Preferences ->Sharing” on the Mac and enable “Remote Login” for the user you want to connect as
- Type your password
- You should now be looking at a bash script commandline interface to the mac
“The item you requested is not available for purchase.”
If you’re working on Android IAP (GooPlay) and get the message “The item you requested is not available for purchase”, the problem will be one of the following: –
- Ensure you’ve uploaded a build to GooPlay
- Make sure the IAP name you’re requesting has been set up in GooPlay (under “In-app products” in the Google Play Developer Console)
- Make sure the IAP is set to “Active”
- Make sure the Google Play account you’re using has access to the app you’re trying to make the purchase from (Make sure you’re set up as a tester in the “Manage Testers” section of the GooPlay console.
- Make sure the bundle ID is set correctly (matches GooPlay bundle ID) on the build you’re testing with
- Make sure the Version (and Version Code) matches the latest GooPlay published build
- Email yourself the tester link from GooPlay and make sure you’ve clicked the “BECOME A TESTER” link on the device you’re using
- Make sure you’ve installed the app from GooPlay before attempting to run a local build. Without this step, GooPlay has no recorded install for the device you’re using so it won’t talk to it and it’ll block traffic (or ignore traffic) from the test app. This is, ultimately, the reason the above message is being shown.
Quick Notes on getting random (pseudo random) numbers in C#
Create an instance of a random number generator: –
Random rnd = new Random();
Grab random numbers from it as required using: –
int i = rnd.Next(1, 100); double d = rnd.NextDouble();
The latter will give a value between 0.0 and 1.0
Notes from setting up Jenkins as another user
Setting up Jenkins to run as another user
- So, long story but it’s often helpful to do this to avoid problems with rights or setting up Jenkins to work as a desktop user
Needs to look like this: –
/var/log/jenkins/jenkins.log jenkins:jenkins 644 3 * $D0 J
Make sure it’s root:wheel (sudo chown root:wheel it)
See here for more details: – (Ignore the URL, nothing specific to Yosemite)
Run Jenkins as another user will save a lot of messing around
Needs to have the group ‘wheel’ (users that can use su)
Needs to have the user ‘andygreen’ (or whatever you’re using as your desktop user)
NB: LaunchDaemons cannot have group or world write access or they won’t run. This took a while to figure out. Kept getting a permissions problem when I tried to launch it
To stop and start (respectively): –
sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
chown (-R) the jenkins directory (Users/Shared/jenkins) to andygreen:wheel
“Google Play authentication is required”
Android IAP Testing
Sometimes you’ll get a “Google Play authentication is required” error when trying to purchase IAP content in an Android app. These are the steps I use to get around the problem when trying to test an app.
- Make sure the app version and bundle version are the same as the build you have in Google Play. This may work with higher versions too but haven’t tried yet.
- Clear the cache on Google Play
- Clear the cache on Google Play Services
- Make sure you’re logged in to Google Chrome (open Google Chrome and go to settings). Not 100% sure this is needed but haven’t tried the process without it yet
- Make sure you’re logged in to Google Play (open Play Store and log in)
- Install the app from Google Play so it has a record that this user has installed the app
- Install your build over the one installed from Google Play
Once you’ve done the above steps, you should be able to make a purchase in the app.
Also, once the above steps have been completed, you are able to uninstall the app and install a fresh copy and everything should still work
What I’ve been up to lately
I’ve been taking a break for a while now (working on house renovations) but have been working on a Entity/Component system in my spare time. Still got a way to go but I’ve made some progress…
I’ve built an environment that has a C# app to handle the control side of things with an embedded C++ app to allow me to display content as high speed using DX11. The two apps talk to each other via TCP comms and the whole things works on both PC and iOS (Android is underway) with live updates between the platforms. i.e I can update content on PC and instantly see it on iOS or move the camera on iOS and it updates the PC.
There are components to handle fbx model loading and display (with an optimized model format), ground system that uses perlin noise to generate infinite landscapes, font system, quad (2D and 3D) system and various other components.
I’m working on a game and adding content to the system as I go. Currently working on an animation system…
Setting up a Mac for iOS dev
The code for the hierarchy display was a mess so I’ve given it a rework. I now have an editor in C# with an embedded C++ DX11 interface. The hierarchy display shows entities and components used in the current scene and I’ve integrated bullet so I’ve got a working physics system. Feel like I’m making some progress now…
Just spent an evening getting my iMac hooked up again so I can start on the iOS implementation of the code. Apple have done a nice job of reworking the certificate/identifiers/devices/provisioning profile pish and it’s now usable. It took me about 30 mins tonight to clean out the Mac and rebuild everything from the ground up. Way better than the day that it used to take due to bugs and poor instructions!
So I can now build a test app on the iMac which is reading from the PC harddrive via a share. This allows me to use VS and avoid the nightmare that is XCode. I’ve installed synergy (http://synergy-foss.org) on both the PC and the Mac so the mac shares my keyboard and mouse so all I need to do is move the mouse over xcode and hit F5 to get a build onto the iPad… nice!
X360 was approved by Microsoft today so that’s one out of the way. PC, PS3, iOS and Android to go…
So, what’s been going on?
Spent the last week finalising a project at work. It’s almost done now so I can stop worrying about it. Android is sooo damn painful to finish and ship.
I’ve got a few things I’ve been working on at home; 1) Setting up a social networking site in a testbed 2) Getting up to speed with a friends website so I can help him with that and 3) working on my own game engine.
The game engine is my big target and I’ve made some progress building it as a Component/Entity system instead of my usual old-school setup. It hit a point this week where the data-driven nature of the engine started to help rather than hinder progress. Up until now I’ve been thinking that I might have bitten off a bit too much but this week it started to pay off.
Working to integrate Bullet now (http://bulletphysics.org). Have been using it in games for years but have never reached a stage where I’ve needed to have a serious physics system in one of my games. Got the basic integration up and running this evening so I hope to have a few entities bouncing around tomorrow.
Also discovered https://drive.google.com/ this week. Handy little cloud drive that’s easily accessible. Finally became comfortable with Git and also played with https://www.engineyard.com/ which is a very nice way to setup servers to allow testing of web environments.
ok, still not sure about this blogging malarkey but I’ll keep adding entries anyway. Toying with the idea of writing a blog on setting up DX11…
Testing, Testing, 1, 2, 3…
So, here it is. My first blog post. Finally got to a point where I’ve had time to set up a basic blog so I can start writing up notes on the code I’m writing.
More to follow…