Some basic questions about starting iOS development - swift2

I am new to iOS development and hoping to get some advice. Looking to publish my first app, it is going to be a swift 2.0 spritekit based 2d game. so here are my questions
I have a Macbook, an iPad and iPad mini but no iphone. Should i get the latest iphone 6 or iphone 5 is enough for my testing?
I like to make two versions of same app, one for iPhones and other for iPads. Can that is submitted to the app store? (i am trying to avoid handling different screens in one app)
I tested cocos2d, but the project i build had a lot of warnings even for a default hello world project. Will this cause a problem getting the game approved later?
that's all
Thanks,

Bit of a generic question but I'll try
1) probably advisable to have at least an iPhone 6, if you want to use 3D Touch than you need a 6S.
2) you can submit 2 apps to the appStore but you probably just want to make a universal app that runs both on iPads and iPhones, no need for separate apps. Would also cause you more work and bug fixing. You cannot really avoid dealing with different screens, but it's very easy to make your game look good on all screen sizes.
3) not sure because I never used cocoas.

You don't have to get an iPhone 6 for testing. It's a lot better if you will test it on a real device, but you can use the xcode simulator for testing as well (and you have there a lot of devices)
Make an universal app, it's for iPhone and Ipad
You can upload a project with warnings to the app store, and it can be approved.

Related

Struggling to find good Examples of iOS app clip & Android instant Apps

I've searched for examples of iOS app clip & Android instant Apps but could not find more than few examples.
I am looking for released apps in App Store/Google Play or open source examples.
good examples could make developing these new features easier and gives developers new creative ideas to use these wonderful tools.
Do you have an app that utilizes App clip or instant app?
How did this affect your app?
What is the challenges you have faced?
Note: I know this is not a typical question but it need to be asked in a community full of great developers who love to share knowledge with others, and I don't think there is a better place than here.
Intro
I know it's been 10 months since you posted the question but I just stumbled upon it now... I've developed an app called ARShades for both iOS and Android that allows the user to try glasses on via Augmented Reality and I'm still in charge of development. The app supports both Instant App and App Clip, although I'm facing troubles making the the app banner show for the App Clip.
Firebase issues
As far as I can tell developing App Clips is a tad harder than develeloping Instant Apps, I'll tell you why. The main apps for both systems make extensive use of Firebase Firestore and many other features. This isn't a problem on Android where sockets are supported across the board, while on iOS they are only supported in the main app, so I had to use REST API to read and write data on Firebase when developing the App Clip, it's been a nightmare since it was the first time for me dealing with REST APIs (I just finished yesterday and published the update).
App Size
Another issue I faced is related to reducing the app size. On Android I had to remove all the unused images and compress the remamining ones. On iOS I had to separate the asset catalogues between: used only by the main app, shared, and used only by app clip. And of course I went through some compression works there too. I forgot to mention that I developed a new app as Instant App on Android, while you cannot do the same on iOS since it must be in the same project.
App to site linking
Another insidious part was the linking of the site to the apps. I managed to do it on Android by making changes to the manifest and specifying the host, while I can't seem to find a way to link the App Clip to the site in ay way. I've done everything the documentation says. I've put the apple app site association file in the .well-known folder but nothing, no banner shows up. I'll keep working on that.
Edit: Everything is now solved.
Conclusions
So, to sum up, I've found Instant Apps better on the developing and hassle side of things, the support sockets, hence the full suite of frameworks the full apps have. I hope I kind of answered your question, although I think you have documented yorself elsewhere in these past 10 months XD
Links to Android: https://play.google.com/store/apps/details?id=it.spaarkly.arshades&hl=en_US&gl=US
Link to iOS: https://apps.apple.com/us/app/arshades-demo/id1586661818
Link for trying Instant App / App Clip

Is it ok to hide a "Developer mode" in my app?

I have an mobile app. While in debug, I need to test several different stuff, so I created a button that shows a list of these tests.
Even in Release, some things are different (Apple Push Notification). So I need to test in release too.
Is it ok to leave these shortcuts hidden when releasing the app?
Doing so would leave a massive security hole in your application, which should be avoided at all costs. In fact, if you're creating an iOS app, I doubt such a hole would get by Apple's independent release testing.
Ideally, you should be using separate coding environments for development, testing and production. When you're developing, you should be using one of the various simulators to test as you work. There's an in-built one in XCode that can simulate a variety of Apple devices, and if you're using something like Ionic, you can hook it to a live preview in a web browser.
Once you're happy that things are working on your computer, you then should be deploying a development .ipa / .apk file. This file should only be released 'in-house', manually. If that's all good, you move on to testing. For testing, create a secondary file, and this can be distributed for external testing through something like Apple TestFlight.
For production, you'd remove any 'backdoors', as in theory, your app would be ready for the public. At this stage it's a simple matter of releasing it through either the Google Play Store or Apple Store.

Does Apple offer TestFlight beta testing for OS X?

TestFlight is a welcome change for iOS. It makes distributing beta versions painless for both the developer and the testers.
Does Apple support TestFlight for Mac OS as well? I've done quite a bit of searching and haven't found anything conclusive one way or the other.
We have an OS X app store app that turns out to have an install problem with Yosemite. We failed to do a first install test against Yosemite, so we missed the problem.
I developed a fix and would love to have some new users try it out. It's petty complex, difficult and disruptive to have current users delete the entire "container" directory and kill the preferences process in order to simulate a fresh install.
I also don't like the idea of distributing an unlocked version of our app. If that gets out, it could damage sales of the app store app.
I've done things like added an expiration date to a test app (weak protection) or created developer ID builds that will only run on machines from a specific list of MAC addresses. The last approach works, but it's tedious and painful to maintain, and requires that the tester give up uniquely identifiable information about their machines.
I'd really like the ability to create apps that will only run on beta tester's machines, like TestFlight does for iOS.
This is a developer question more than a code question. It isn't a great fit for SO, but I can't think of a better Stack Exchange site to post it. If anybody has a suggestion of a better site to post the question I'm happy to move it there.
This document at Apple Developer explains it.
It says you should register the testers' devices and generate a provisioning profile that includes them. Which means, theoretically, the app won't run on any device not in the list.
Here is the strange thing about it however: I have two Mac computers and I didn't register either of them with my provisioning profile (in fact the list of registered devices is empty right now), but I can run the exported app image on both easily. The app is sandboxed and signed, ready for App Store distribution, but nevertheless it runs on unregistered computers. It might be that with an empty device list it allows to run on any, or it might be that I'm doing something wrong with code signing.
I will update the answer once I figure this out.
Good news for everyone (including me) waiting for TestFlight for Mac - it just got announced on WWDC21.
Unfortunately, it might take another few months until it is out of beta and publicly available for everyone. But since this question is almost more than 6 years old, its just a fraction!
I"ll update the answer if there are more details available
Update
TestFlight on Mac will be available to download on the Mac App Store. It will be similar to the iOS version of TestFlight offering almost the same functionality to both developers and testers.
It supports both native Mac apps and iOS apps on Apple Silicon!
It is now available.
TestFlight is not available for Mac apps.
source: https://testflight.apple.com/
😕

Best way to approach WP7 app development?

I have some knowledge of basic PHP developing however right now I am thinking about developing a phone app. I do however have a bit of a conundrum in that I love WP7 and I have so many ideas for features which can't be done on iOS and Android, however at the same time I am completely aware that my target users (filmmakers) generally have iOS or android phones.
Is there a way I can develop the app, which I will get a developer to do rather than myself, with WP7 as the lead platform and then make a relatively simple conversion to the other platforms or do apps generally have to be completely reworked for each platform?
Also, just to though it out there, any idea of where to go to find a freelance app developer?
Thanks
James
I think you have a few options, but the first question I would have is: where comes the data from. Are you the owner of the data, and do you already have a datasource from where you can get the data from? If not I would suggest take some time to write a decent 'backend' from which the different platforms easily can get the data from.
Also all different platforms have their own pro/cons which you cannot share that easily. If you build a WP7 app in silverlight/xna, you cannot directly port it to a ios/android variant, also functionality will probably look/react different. You will need different solutions foreach platform with this approach.
Another option would be to use an platform like phonegap which can create a solution that will work on multiple platforms. (It uses HTML5 to get it work on the different platforms)
Build your app on iOS and android first, and when you have an app to base WP7 development then contact a developer that has made similar apps to yours.

universal app target for iphone & ipad - 2 app error

Really would appreciate it if you can help me with something. I have searched every websites and apple documentation but cannot find an answer for the following issue I have:
I have upgraded an iphone app with the intention of having 1 universal 'target' for the iphone and ipad. The problem is that I have 2 products. i.e. Perk.app and Perk-Upgraded.app
How can I combine these to 1 or can I add a new product app that will differentiate the device (I can do that part) and then launch the relevant iphone or ipad product? (this is the part I cant do).
I have been looking at this for months... believe me im pulling my hair out.
Any help would be much appreciated.
Thanks
Wazacko
You cannot actually have two distinct apps and then launch the appropriate one. If I understand you correctly what you actually need is to be able to adapt your layout according to the device. For this purpose I used the guide here: http://www.devx.com/wireless/Article/44472
It helped me a lot.

Resources