Is the Mach API publicly available to use in iOS apps? - iphone

Is the Mach API (mach/mach.h, mach/mach_time.h, etc.) OK to use in iOS apps that are intended for the App Store, or will they get your app rejected?
I've been told that they are part of the 'SPI' (System Programming Interface) and therefore inaccessible.

To provide one answer to my question, I know of one person who is using mach_wait_until in an iOS app that is in the app store. He has confirmed that apple had no problems with him using it.

Related

How to Upgrade my flutter app without using Playstore or App store?

I have an app created for internal use. I have not published it on the play store, but I have to update it regularly.
Can anyone help...with which library should I use for implementing a self-upgrade system to my app. Any answer would be appreciated.
The answer is - yes,
You can upload your app to the Apple Store and Google Play but Not publish it to the public, instead, you can use internal testing
So only users that you define will be able to see or download your app in the Google Play and Apple Store
Google Play internal test https://support.google.com/googleplay/android-developer/answer/9303479?hl=en
Apple test flight https://developer.apple.com/testflight/
Yep it has some limitations, for example, Apple allows up to 10000 testers but I hope it's ok for your company, but its only way to share app internally without any issues on iOS (android allow you to download apps from anywhere, iOS don't)
The answer is - no, you can't do that - not at least the Flutter* apps. As #Abion47 said, you can publish the new APK and ask users to install it. If you app involves back-end then you can check the (client) mobile app version and display the alert if the version is below minimum version required.
On the iOS side, it is slightly more difficult. For internal use, the organisation needs to sign-up with Apple's enterprise program. You can then distribute the app internally.
*- I've seen certain apps downloads the zip (or whatever) file, and updates themselves without actually going through App update process via AppStore/Playstore. However, it is more of a web part within the particular app which gets updated. The app version as such remains same.

iOS Application in Cydia and AppStore

I have an app in Cydia and I want to make the same application but LITE version and put it in AppStore. My question is will Apple reject my app if the check it some how. Actuality my app work with web services so I have real worked domain. And I want to use the same domain or to make another second lite-like domain of the original one...
Thank's in advance..
No, the yxflash team does a similar thing, they have a version of their application in Cydia (because, when they released it, the code was using private APIs), and they have another version (actually 3) in the AppStore called yxplayer. So from what I see there, you should be fine, apple doesn't seem to check those things.
This is an explicit violation of the iOS developer agreement; your presence in the App Store will depend on being obscure enough that Apple doesn't notice what you're doing and nobody tells them. That's not how I would want to do business, but to each their own?
7.3 No Other Distribution Authorized Under this Agreement
Except for the distribution of freely available Licensed Applications and the distribution of Applications for use on Registered Devices as set forth in Sections 7.1 and 7.2 above, no other distribution of programs or applications developed using the Apple Software is authorized or permitted hereunder. In the absence of a separate agreement with Apple, You agree not to distribute Your Application to third parties via other distribution methods or to enable or permit others to do so.
Just submit the app, you will be fine.
Apple simply can't prove that YOU also submit the same app to Cydia.
That is, you can claim that your dog/cat/fish/wife/kid used the code to submit to Cydia during your sleep

An iOS App how to find all other application on the iPhone?

Bump, Chomp & Appsfire all can list other application on the iPhone, how to do it?
By using Google I found this link quite helpful, it says basically there are two ways to find if certain apps are installed without jailbreaking your device:
checking if a specific URL scheme is supported by the device => canOpenUrl:
comparing the devices currently running processes to known app executable names => sysctl()
Short answer, you can't.
Longer answer you can't without violating the dev agreement and risking app rejection.
There are two methods of doing this (on a non-jailbroken phone):
Check to see if custom URL schemes that are known to be used by certain apps are registered as described in http://www.iphonedevsdk.com/forum/iphone-sdk-development/37103-finding-out-what-apps-installed.html (this allows you to check for certain known apps, not get a list of all installed apps.
The way appsfire does with a desktop 'companion' app, that grabs this info from your iTunes and sends it to their server. (See this article as to why the appsfire developer pulled his app because apple wouldn't approve an update anymore).
Sorry I couldn't be of more help but that's apple!

Is there a way to directly download an iOS app (without using the app store)

I would like to have users be directed to a link which will immediately start downloading an app on an iOS device. I know you can register for Enterprise application or do limited ad-hoc distribution, but this is not the case here. The app I would like to link to is already on the app store. I would like to know if users can download the app directly without going through the app store.
Thanks in advance.
As mentioned above, you cannot provide a direct link to the application. There are ways of circumventing the app store, such as ad-hoc distribution and ADC's enterprise program. However, neither of these would provide the convenience you seek as potential users would have to install certificates generated by you before installing your application. Your best option would be to use the app store or possibly a web app.As David V mentioned, you can provide a direct link to your app in the app store!
Good luck,
-Alex
They will need to go through the App Store. You can provide them a link to your app in the App Store though.
In fact, even in jailbroken devices, you need to use a store. Apple seems not to have a auto-installing url scheme implemented.
Would be nice, though.
No. This is not possible on stock OS iOS devices
You can do that if your app is based on Safari (web app) instead of native (iOS).

Make iPhone app available on both iTunes and Cydia

What are the ramifications of posting an iphone app on both Cydia and iTunes? Does Apple look fondly at that idea? An precedents?
The reason I ask is that I have a very interesting app which might have some parts disallowed by Apple. I still want (some) people to have access to those parts (call it value-added), so I wanted to release the unrated app on cydia. (No it's not porn)
In the SDK Agreement it specifically says that you won't add your application to another store, if you do, Apple can ban your itunesconnect account without warning.
Just prey they don't find your application on Cydia.
I guess you could do your application with a slightly different UI, and without the editor name, they would not have any proof to ban you.
One example that they're probably not enforcing this too strictly, can be found in the Siphon app.
Siphon is a popular, open source VoIP app, that the developer has been trying to get in the app store for forever. They haven't accepted the app, but the availability of the app in the official app-store was never mentioned, and they haven't banned his account either.