Application Loader - build pushed on wrong app builds - ios

i explain my problem.
We are two applications with the same name "MyApp" currently created on the itunes connect dashboard.
We did able to create two application with the same name using a different language localization (one in english and the other in native italian). Over this, applications are distributed to different countries (so the swiss - aka ch - version won't be visible to the italian - aka it - users).
Problem Context
The problem is related to the application upload: i'm using the Application Loader software to upload the respective ipa (myapp.1.0.9.prod.it.ipa and myapp.1.0.9.prod.it.ipa) to their remote application project dashboards.
What's wrong?
When i'm publishing the app for ch (myapp.1.0.9.prod.ch.ipa) and the process end correctly, if i open the TestFlight tab for the ch app, i'm not able to see my build but instead, it's result available for the it version.
How we distinguish apps in the project
To distinguish rightly the application, we performing a general renaming of the package name inside all project files to aim this situation:
myapp.1.0.9.prod.ch.ipa with package name "com.myapp.domain.ch"
myapp.1.0.9.prod.it.ipa with package name "com.myapp.domain" (considered as default)
Goals
Publish current ipad downloaded to its app project.
Limits
Please don't provide me solution that include itunes with the Archive menu, we cannot do it manually due to a builder dependencies that will be very pedantic without builder's feature.
Thanks in advance for your help!!!
Simon

You mention that you are changing the package name. I'm not exactly sure what you mean by that but you have to be sure you are setting the correct Bundle Identifier, or CFBundleIdentifier in your Info.plist to make your ipa upload to the correct iTunes Connect application.
Can you take a peek inside your generated .ipa and make sure you have the Bundle Identifier set as you expect?

Related

Universal links for iOS apps - how it works?

I am new to adding universal links to iOS applications. I have read some materials but still have a few questions below. Any pointer will be greatly appreciated!
When exactly Apple will crawl my domain and inspect the [domain]/apple-app-site-association content? I have a new domain, and I'm wondering how Apple's crawler can discover it?
What's the recommended way to test universal links locally before publishing the first version of my app?
Is version control for universal links not possible? For example, the app 1.0 version only supports \item universal link, but app 2.0 version supports one more schema \details . If I specify both paths in apple-app-site-association, then the 1.0 app will break when user navigate to \details. (Edit: I noticed that if the app appropriately set it to be unhandled, then we can still fall back to browser.)
Thanks!
When a device downloads an app, it looks for an entitlements file to list out your associated domains. When it finds that your app has associated domains, it will check those domains for the aasa and download it onto the device. The aasa for that app will only be downloaded on install and update so changes you make will not effect all of your apps.
For testing you can host your AASA on a testing domain or on your production domain. It's up to you but you have to remember to update your entitlements file when you push it to production to ensure that you have the right domain configured. Every time you rebuild the app, it should re-download the aasa so testing shouldn't be too difficult. Always remember to paste the link in notes and not type it into Safari. Universal links only work when they are tapped, not typed in.
For your example you should make sure your new AASA is published at the exact time you publish your app. You should probably use a separate testing domain to host your AASA. You can just include both domains in your entitlements.
Branch actually has testing environment and AASA hosting built in if you'd prefer not to handle all of that on your own. They also leverage URI schemes in cases where Universal Links don't work.

Accessing an Application from a Web Browser for Android and iOS

First and foremost, I am not the developer behind this application, however I am looking for a solution to this problem as I work at the company that runs the application and I've been tasked to do so. This is not a focused code-line question, but more so an application question.
Background: The application is an educational tool that simulates a physical science laboratory that is programmed using Flash. It is accessed from a Learning Management System (LMS) web browser - i.e. Blackboard, Canvas, etc. - through a link to the object. There are multiple simulated labs that are each their own object.
The main problem: The simulators/labs are able to be accessed on an Android device (phones & tablets) by prompting a download of a .apk file once the link is clicked on that device where they will have a menu that localizes all the simulators. This is to centralize all the simulators into one menu app. Now, when you attempt this process on an iOS device, it's obviously incompatible (.apk vs .ipa). We can create a runnable .ipa file for each individual simulator, but this is not efficient at all when attempting to execute on a mass scale (think district-wide access).
What I want to find out is the most efficient way to adapt the application for iOS since it utilizes Flash. The same process would be desired (click the link and it prompts a download of the menu app that holds the sims/labs).
Thanks in advance.
You need to enrol for apple developer program to distribute builds. Normal subscription consider distribution thought App Store, and it seems not your case. There is Enterprise subscription - it allows to create .ipa, that can be installed on any device, but distributed locally (Ad-Hoc). While assembling Ad-Hoc build in latest Xcode you can select opportunity to create distribution manifest as well (Xcode will provide description how to use it). Then you can upload manifest and iPad file to you file server, and share link to manifest with you user. Opening manifest on iDevice will launch installation of application.

How deploy two different apps in ios without having them overwritten

I want to have two version of the same IOS app to stay in the same time in the same device, one for testing and the other for production.
The app is built using phonegap build, so what I have done is
using two different bundle id specified in build.xml (edit: config.xml), so that one is dk.xxxDev.mobile, and the other one is dk.xxx.mobile
having two different apps in the apple developer page, so now I still have the previous one for dk.xxx.mobile and the new one dk.xxxDev.mobile
building using two different provisioning file, one for each app (one is using a developer profile, while the other is using an ad hoc certificate, but i guess we don't care about it)
Still, every time I deploy using itunes or testflightapp, one app overwrites the other one! What am I doing wrong?
edit: I Also changed
- the tag "name" in the build.xml (so that testflightapp can distinguish them )
- I'm using different filnames when I add the app to iTunes
Can you check if the 2 versions of the app generate are using the same IPA file name?
The file naming convention for the Mpbile Apps is as follows:
app_name.version.IPA file
iTunes in the Mac or in the PC store the mobile apps in IPA format and if they are using the same name, installing one will override the other. This is a valid question for Apple Support and this is something that a future version of iTunes may fix.
I was doing something different from what I wrote, I was probably using the same certificate for both versions.
So doing exactly what I wrote, it is supposed to work.
You need to change bundle identifier of one of the apps
Select Project in Xcode, then select target and in general tab you will see bundle identifier string.
e.g. com.YourCompane.AppName change "AppName"

Firemonkey app. needs data updates

I have a client database iPad/Iphone iOS application running OK. I wish to be able to easily update the data associated with the application and the ideal solution would be to read from a text file on my PC when I am connected to iTunes on my (Windows XP) PC.
Can my iPhone/iPad app open a file on my PC when connected to iTunes? I can't get a file path specification that will work (allow me to open a file on my PC).
I have also investigated the iTunes FILE SHARING facility, requires a manual modification to the application .PLIST file to turn this on. Since whenever I rebuild and "Export to XCode" my application a new .PLIST file is generated I have to manualy edit it each time to get the file sharing changes made so this seems to not be the answer.
Alternatively packaging the file with the iOS application would be workable. I get some sort of application checksum error if I drop the data file into the xCode application.. not sure why. I understood this was the mechanism to get the data file packaged with the project. Maybe I am dropping the data file in the wrong place...
Any help/suggestions would be appreciated.
Looks like the menu item Deployment under the Project drop down menu in XE2 does the job. Allows files, images etc to be packaged up with the application.

iOS: Running different apps on device

I'm a novice iOS developer and got my iOS developer program account, I setup the iOS certificate and Provisioning Profile and I can run my test app on my device(iPad). My question is if I want to run different test apps(imagine couple Apple sample codes) on my device without replacing the last tested app on my device(I mean keep all of them on my device at the end of test) what would be the trick here? I know each app has it's own bundle identifier, but how to manage this scenario for running all of them on the device with the same iOS Certificate/Provisioning Profile?
Just change the Name of the project and it should refactor. Change the name on the root of files & folders in xcode. You can click on it and it'll let you change the name. In Build Settings Properties change the name under there as well. Click at the very top of your list of files where it says the name of your project and it'll bring up the build properties.
If I understood you correctly, there are two parts of your questions:
Yes, you can run many (distinct) apps on your device.
To have multiple version of the same app running on your device, all you need is change app's product name to a different name, app1, app2, etc. It is a relatively easy process to do it. This SO Q/Aenter link description here has the instructions. You do not need to rename your project or any thing else. Just make a copy of the project and follow the instructions to make a new product name.

Resources