Post not yet marked as solved
I've been considering for some time, to pitch a version of one of my games for Apple Arcade. Originally, I did not because the website says "If you’re working on a groundbreaking, unreleased game and would like it to be considered for Apple Arcade, we’d love to hear from you.".
The fact that Apple is asking for an unreleased game makes me wonder if it's worth submitting. Nowadays I realise that Apple Arcade has "classic" games, so maybe it is now possible.
I'm also wondering about things such as:
How many languages do I need to have the game localised for?
Are there specific languages that are must-have? (Some may require special work to ensure they look correct)
Do I need to provide controller support on Apple TV if the app already supports the Siri Remote?
Does the game still have to support offline play?
Answers to these questions will give me a sense of what I might need to do to make the game fit in, and whether it's actually viable to pitch.
Regards
PKCLsoft
I've been trying to install Xcode 7 tonight with no real luck.I'm running a Mac that generally has about 12 GB spare. I tried installing the Xcode 7.1 beta on a separate drive however it insists on installing all of the simulators on the primary hard drive, and it runs out of space.So perhaps it's time to wipe Xcode and reinstall clean. This mac has a primary drive that started as Snow Leopard on a white macbook back in 2009. It's been backed up and updated regularly, and I wonder if this has left me with a lot of old cruft. Acording to DaisyDisk I have:/Applications/Xcode -> 3gb (Xcode 6)/HD/Library/Developer -> 15.6gb/HD/Library/Developer/CoreSimulator -> 13gb/HD/Users/me/Library/Developer -> 69.9gb - why?/HD/Users/me/Library/Developer/Xcode -> 53gb/HD/Users/me/Library/Developer/Shared -> 8.7gb/HD/Users/me/Library/Developer/CoreSimulator -> 8.1gb/HD/Users/me/Library/Developer/Xcode/iOS DeviceSupport -> 46.7gb - devices all the way back to 5.0.1/HD/Users/me/Library/Application Support/iPhone Simulator -> 1.8gbReally, do we need 4, or 5 folders of simulators, amassing almost 70gb of disk space?Can I be brutal and remove:/HD/Users/me/Library/Developer/HD/Library/Developerand then reinstall Xcode from scratch? will this actually give some space back?Any help would be appreciated.Peter
Post not yet marked as solved
Apparently, the Schoolwork app has been released / launched today.So, what bugs were fixed in it? What changes were made that we, the developers that will help make ClassKit and Schoolwork actually of any use, should have been told about?Why is it that Apple seems to care less about supporting the developers? It is so frustrating to find out via a tweet from a tech website that something we've been putting serious effort into has been launched without any regard for us.It's almost as if this ClassKit and Schoolwork thing is something Apple doesn't see as worth their time.OK, I know I'm coming across bitter, but I've seen this before with Shared iPad, and have been really dissapointed by the lack of support from Apple for the devs trying to work with them. This just feels like the same thing all over again.
Post not yet marked as solved
I've built a simple demo project based on the results of my having integrated ClassKit into 3 apps so far.This is not a simple drop-in solution, but it should make life a lot easier for some.Malonicus, if there are problems with my posting this, or making the repo publicly available, please let me know. I figured that with the API docs being public, it would be OK.Here is the link:https://github.com/pkclsoft/ClassKitIntegration.git
Post not yet marked as solved
I've already submitted this as a bug / feature request, but am posting it here as info for the community.In my app Tap Tangram, I submit several CLSQuantityItem objects in the report to the teacher at the end of an activity. All of these show with a large "Count" heading which is of absolutely no value to the teacher, and then my own title in a smaller font. This UX doesn't make sense. The "Count" heading is not needed; rather the teacher needs to see only the description, or title of the item.Noting that CLSQuantityItem accepts a double for it's value, I don't understand why the SchoolWork app rounds this up to the nearest integer.In one example, the "Average time to answer a question" is shown as "5", however the value submitted in the item is 4.89.I would like, if we can't have additional CLSActivityItem types, to be able to specify the precision, or formatting of the value, and the units with a UnitsTitle property.Whilst I can embed the units inside the title of the item, it would look and read better if the value is shown as "4.89 seconds" rather than:AVERAGE TIME TO ANSWER A QUESTION (SECONDS) 4.89I would also like, for the CLSScoreItem to be able to submit a simple score, without having to specify a "max" value. Sometimes an activity can be a game without a maximum score. Not all quizzes have the same number of questions for each student.
When my app is launched by SchoolWork, is there some way for my app to be given a name of the student?Most of my educational apps support multiple student profiles, allowing them to record lesson data (locally, on device) against those profiles.I'm not interested in personally identifying information; just a name; even if all the app gets is initials, it would be something to display other than "Student".It would make the lesson more personal and would allow the student to feel like they are using it with all of it's features.
Back when Shared iPad was "launched", we were told to ensure that our app settings, and so on, are stored in iCloud (or similar) so that the data is preserved when a device is allocated to a new student.To enable this we were told to include NSSupportsPurgeableLocalStorage in the app info plist. Given that ClassKit appears to require iCloud support for reasons of it's own, is there to be a similar property to add to our app?Having completed (I hope) integrating ClassKit into 2 apps so far, that previously only used NSUserDefault for app settings, it became apparent that to also support Shared iPad, it was important to integrate support for iCloud Key-Value storage.I think it would help if the documentation made more mention of the benefits of support for both Shared iPad and ClassKit.I'm only really writing this as a prompt for others that may not realise.
[EDIT: I originally thought this issue was about the Obj-C interface]The first app I'm testing with ClassKit is Objective-C.So far I have all of the activities showing up as expected within the SchoolWork app. I can create a task, add an activity and post it to the student as expected.I can then log in as the student (using settings to switch to student mode), and restart the SchoolWork app. I see the task and can initiate it just fine. My app is launched, and the requested task is started.From my logs I can see that the activity is started, and that as the student traverses the activity, the progress is increased, and at the end, when the activity is ended, a score, and several other Quantity items are added. They all look fine when traced from my app.My problem is that even though the changes to the activity are being logged fine, and the act of saving the state produces no errors, the SchoolWork app does not show that the task/activity was started, and none of the progress or quantity items are shown.When I use the sample GreatPlays app in the same way it works as expected - sometimes.Before I try to dig further, does anyone have this working in Objective-C? Can you get the results shown within the SchoolWork app?UPDATE: I've tried any number of combinations; removing all CLSActivityItem objects, reordering them, etc. Then I noted that even activities created for GreatPlays don't always work either, so perhaps it's a more generalised issue with the interface to SchoolWork. I haven't yet found a reproducible pattern.
I've now got one app starting an activity by request from the SchoolWork app thanks to some help here.At the moment, an app can publish a list of fixed activities that a teacher can select to be used by one or more students.What if, in addition to the activity, the teacher wants to tune that activity for a student.For example. Say we have a basic math app. The teacher has a class of students with varying abilities, but she wants them to practice their mutiplication skills.So she chooses the multiplication activity for the class, but she knows that one student in particular is a bit behind, and needs the activity to be turned down a bit. She wants this student to be a part of the activity; to feel like he is working with the class, but she also wants it to be realistic and tuned to that student. The app in question allows the user to specify a number that is used to restrict the complexity of the math problems presented, so she wants to set that number differently for this one student.Another simpler example that appeared in my email from a reply to this question (which seems to have been deleted) is that of a spelling app where the teacher wants to add an activity containing a spelling list for the day or week. Being able to provide the spelling list like this would add a lot of power and flexibilty to SchoolWork. I've updated my suggestion below to support this.I can't see any way for an activity, or CLSContext to define parameters that can be modified by the teacher. I think it's unrealistic to expect an app to list potentially thousands of combinations of activities to get around this. There should be a way for the app to present to SchoolWork a set of parameters for a n activity/CLSContext that give the teacher the power to use SchoolWork to take advantage of the apps versatility.It doesn't need to be overly complex. We probably need something like:parameterType enum (switch, range, enum, timer, array) // see below for more detailparameterName String // the name of the parameter to be presented to the teacherparameterRequirement Bool // if true, then the parameter must have a value for the activity to be postable.parameterValue String // the value of the parameter sent to the app when launched from SchoolWorkparameterMin Number // for range parameters, this would be the minimum valueparameterMax Number // for range parameters, this would be the maximum valueparameterEnums Array<String> // for enum parameters this is the array of discrete values the teacher would choose from.parameterDuration TimeInterval // for timer parameters, this is the nummber of seconds the activity can take.where:parameterType: switch is a simple on/off toggle - values would be "true" or "false"parameterType: range is a way to define a min and max value (probably need to support float and integer)parameterType: enum is a way to define parameter with a discrete set of valuesparameterType: timer allows the teacher to define a duration for the activityparameterType: array allows the teacher to define a list of string valuesI know this will complicate the interface, but I really don't see a lof of apps being able to be good ClassKit citizens and truly useful without such abilities.Have I missed something?UPDATED: with suggestion for a dictionary of spelling words. I changed this to an array, as a dictionary sounds like too much work for the teacher to define the key and value.
I've managed to get the lesson data populated as described (thanks, the documentation was pretty clear, although the Objective-C version still shows swift code).When I swap to student mode, and relaunch the Schoolwork app, I can then double tap on the activity and it launches my app quite happily.What I haven't found described so far, is how my app determines what activity or CLSContext was requested so that I can direct the student into the requested content automatically.I'm guessing I can find it in the "launchOptions" dictionary provided to:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;Any help would be appreciated.