Posts

Post not yet marked as solved
0 Replies
218 Views
Language in the "Apple Enterprise License Agreement" restricts enterprises to installing apps developed internally using Apple tools or downloaded from the Apple Business Manager application store. This prevents the enterprise from installing third party apps purchased outside of the application store on managed employee devices. In compliance with EU DMA, will Apple be removing this restrictive language from the Enterprise Licensing agreement and replaced it with language that allows the enterprise to freely develop apps internally; purchase apps from application stores; or purchase directly from third parties for digital signing and distribution to enterprise managed devices?
Posted Last updated
.
Post not yet marked as solved
0 Replies
889 Views
I am Archiving my app in Xcode 13.4.1 and signing it for AdHoc distribution using Automatic signing. I then distribute output to directory on my M1 Mac mini running Monterey 12.5. I install this version of the app on iPhone 16 and it works. I have a script that uses PListBuddy to change the name of the App and put in a URL for in a user defined field in the Plist for the app to use to retrieve information used in the app. The script is below at bottom. In the script I then remove the .app/_CodeSignature and copy the mobile provision to the .app/embedded.mobileprovison. In the script I then use codesign to resign the .app and move it to a directory passed into the script. I install using DistributionSummary.plist listed below at bottom. This worked before an unfortunate incident forced me to change the login to the Mac mini which is also the admin user. I had to use the terminal process of “replacepassword” (?) which was done by Apple rep at the physical App Store in my town. This allowed me back into the Mac Mini but sadly invalidated the KeyChain in KeyAccess. I have downloaded the Apple Development Cert and Apple Distribution Cert from Apple/developer to the KeyChain and the mobileprovision to the directory containing the script. When I install this app over the air and click on it I, I get “Unable to Install .app - This app cannot be installed because its integrity could not be verified.” When I click on Get Info on both Certificates it says “This certificate is valid” When I try to evaluate the certificates in KeyAccess and click on code signing it does not stick and the radio button is blank next time I evaluate it. I think this may be the root of the problem. Thanks Script: #!/bin/sh unzip XXApp.ipa /usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName $1" Payload/XXApp.app/Info.plist /usr/libexec/PlistBuddy -c 'Print :CFBundleDisplayName' Payload/XXApp.app/Info.plist /usr/libexec/PlistBuddy -c "Set :XXApp21URL $2" Payload/XXXApp.app/Info.plist /usr/libexec/PlistBuddy -c 'Print :XXApp21URL' Payload/XXApp.app/Info.plist rm -rf Payload/GenApp.app/_CodeSignature cp XXapps.mobileprovision Payload/XXApp.app/embedded.mobileprovision codesign -f -s 'Apple Development: MyName (CCCCCC)’ --entitlements entitlements.plist Payload/XXApp.app zip -qr XXApp21.ipa Payload rm -r Payload NEWPATH=$(echo $1 | tr -d ' ') Mkdir -p $NEWPATH cp XXApp21.ipa $NEWPATH DistributionSummary.plist
Posted Last updated
.
Post not yet marked as solved
1 Replies
546 Views
I have successfully installed my iPhone App using Ad Hoc distribution using DistributionSummary.plist. I have added a user Key Value (url for first download of appp) to the Plist in xcode and I am able to access that key value after install. I would like to edit the DistributionSummary.plist to be able to change the user Key Value on install. I was hoping to do this in Ad hoc as a test for MDM install of my app. So far it is not working. The value set in the app plist is coming in the bundle and I can read and use it. But change is not working. Is it possible to do this using ad hoc distribution and MDM install? Thank You
Posted Last updated
.
Post not yet marked as solved
2 Replies
4.3k Views
I used the migration assistant to migrate from a 2014 MacBook Air to a M1 chip Mac Mini. Part of the migration moved my Xcode projects 11.3.1 to the new Mac mini. I subsequently downloaded Xcode 12.3 to the Mac Mini and used it to build the projects. Three of the projects are static libraries and one is the consumer of the libraries. The builds for the static libraries uses a Run Script with XCodeBuild for iphoneos and iphonesimulator and then lipo to build a universal library. Finally the universal library is copied to the consumer. On Xcode12 Mac mini I was getting errors from lipo stating that both have arm64 slices and could not build. I used ONLYACTIVEARCH=NO and Yes in various efforts to try to remove the arm64 from the iphoneos to no avail. Also the build settings was sticky with exclude architectures and would not delete entries. After a few very frustrating days combing the web for solutions that mainly dealt with excluding arm64 from the simulator I gave up and just built a iphoneos .a file and a iphonesimulator .a file and moved them to the consumer project. This worked so I created a "sim" version of my consumer prjoject and a iphoneos debug version. This worked and even better because of the -swift.h headers for both simulator and iphoneos. But I am now unable to copy the files in my Run Script as it gives me "permission denied" errors on my cp command. I think it is because the ouput files are marked read only as well as the directories created in the build folders. This may be a migration issue and what user runs Xcode. Apparently not my userid (which is Admin and the installer of Xcode 12). Scripting on Linux is not my strong suit so maybe some errors in the copy but the Xcodebuild issue with arm64 may be a bug. However, the copy worked fine on the Macbook air Xcode 11.3.1. One possible issue is The MacBook Air was given to me by my son and it is still called name as owner. This may the permissions issues as the projects migrated over to the new Mac mini. Below is the pervious Run Script and the new run script: Xcode 11.3.1 Run Script on intel Mac Air define output folder environment variable UNIVERSALOUTPUTFOLDER=${BUILDDIR}/${CONFIGURATION}-universal Step 1. Build Device and Simulator versions xcodebuild -target AppLibrary ONLYACTIVEARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILDDIR="${BUILDDIR}" BUILDROOT="${BUILDROOT}" xcodebuild -target AppLibrary -configuration ${CONFIGURATION} -sdk iphonesimulator -arch x8664 -arch i386 -arch armv7 -arch armv7s -arch arm64 BUILDDIR="${BUILDDIR}" BUILDROOT="${BUILDROOT}" echo UNIVERSALOUTPUTFOLDER make sure the output directory exists mkdir -p "${UNIVERSALOUTPUTFOLDER}" Step 2. Create universal binary file using lipo lipo -create -output "${UNIVERSALOUTPUTFOLDER}/lib${PROJECTNAME}.a" "${BUILDDIR}/${CONFIGURATION}-iphoneos/lib${PROJECTNAME}.a" "${BUILDDIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECTNAME}.a" Last touch. copy the header files. Just for convenience cp -R "${BUILDDIR}/${CONFIGURATION}-iphoneos/include" "${UNIVERSALOUTPUTFOLDER}/" cp -R "/Users/davidsmaltz/Documents/afsLibrary/AppLibrary/Build/Products/Debug-universal/" "/Users/davidsmaltz/Documents/afsLibrary/MyApp/Debug-universal/" New Mac mini Xcode 12 Run Script xcodebuild -target afsViewControlManager ONLYACTIVEARCH=NO  -configuration ${CONFIGURATION} -sdk iphoneos  BUILDDIR="${BUILDDIR}" BUILDROOT="${BUILDROOT}"  xcodebuild -target afsViewControlManager  -configuration ${CONFIGURATION} -sdk iphonesimulator BUILDDIR="${BUILDDIR}" BUILDROOT="${BUILD_ROOT}"  cp -R "/Users/davidsmaltz/Documents/afsLibrary/afsViewControlManager/Build/Products/Debug-iphonesimulator/libafsViewControlManager.a" "/Users/davidsmaltz/Documents/afsLibrary/MyAppSim/Debug-universal/" "/Users/davidsmaltz/Documents/afsLibrary/afsViewControlManager/Build/Products/Debug-iphoneos/libafsViewControlManager.a" "/Users/davidsmaltz/Documents/afsLibrary/MyApp/Debug-universal/" Thank You
Posted Last updated
.
Post not yet marked as solved
2 Replies
560 Views
My project uses 3 static libraries and it works on the simulator and with a USB connected device. The application on the test device is around 36 MB. However, when I build archive and distribute it for ad hoc testing the resulting IPA file is only 104K. No error are given during the Archive. Obviously the static libraries are not being included in the Archive. Any tips on getting static libraries included in the Archive?
Posted Last updated
.