Apple Sandbox and Appstore Upload issue
bumjun-kim
bamzunee at gmail.com
Tue Sep 27 08:29:36 UTC 2016
Hi, GStreamer,
Thanks for your comment.
I have a few more Inquiries regarding Appstore Upload.(AppSandbox)
Streamer version : 1.6.4(using cerebra universal build)
build platform : mac OS X 10.11 el capitan
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper
Regarding Bug 771860 (https://bugzilla.gnome.org/show_bug.cgi?id=771860), I
sorted out TestCase 1~3 Codesign problem with your help.
StackOverFlow(https://stackoverflow.com/questions/25950544/codesign-what-are-unsealed-contents)
However, I couldn't sort out TestCase 4 with
StackOverFlow(https://stackoverflow.com/questions/25950544/codesign-what-are-unsealed-contents)
There is a "TestCase 4" of Bug771860 AppLoader error down below
- AppLoader Upload Error :
ERROR ITMS-90296: "App sandbox not enabled. The following executables
must include the "com.apple.security.app-sandbox" entitlement with a Boolean
value of true in the entitlements property list: [(
"com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner",
"com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper"
)] Refer to App Sandbox page at
https://developer.apple.com/devcenter/mac/app-sandbox/ for more information
on sandboxing your app."
ERROR ITMS-90260: "Bad Bundle Executable. You must include a valid
CFBundleExecutable key in the nested bundle osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file."
ERROR ITMS-90261: "Bad CFBundleExecutable. Cannot find executable file
that matches the value of CFBundleExecutable in the nested bundle
osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file."
To sort out this error, I did some tests down below.
Test1
1) I changed osx-framework to GStreamer in
GStreamer.framework/Resources/Info.plist Modify
-> Bundle name, Bundle identifier
2) Codesign
- Terminal Input Command(Codesign for GStreamer.framework/Versions/1.0/lib
Directory) :
find MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name
*.dylib | while read a ; do codesign —verbose —sign '3rd Party Mac Developer
Application: My ID' ${a}; done & find
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name *.so |
while read b ; do codesign —verbose —sign '3rd Party Mac Developer
Application: My ID' ${b}; done | codesign —verbose —sign '3rd Party Mac
Developer Application: My ID'
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer
- Terminal Input Command(Codesign for MyApp, MyFramework.framework,
GStreamer.framework) :
codesign —all-architectures -f —deep -s '3rd Party Mac Developer
Application: My ID' —entitlements "MyApp.entitlements" "MyApp.app"
3) Try AppLoader Upload
- Make PKG File and Upload :
-> Result : Fail
-> Error Message : ERROR ITMS-90260: "Bad Bundle Executable. You must
include a valid CFBundleExecutable key in the nested bundle osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file."
But, I Fixed One Error(ERROR ITMS-90261: "Bad CFBundleExecutable. Cannot
find executable file that matches the value of CFBundleExecutable in the
nested bundle osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file.")
Test2.
1) I changed osx-framework to GStreamer in
GStreamer.framework/Resources/Info.plist Modify
-> Bundle name, Bundle identifier
2) Codesign
- Terminal Input Command(Codesign for GStreamer.framework/Versions/1.0/lib
Directory) :
find MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name
*.dylib | while read a ; do codesign —verbose —sign '3rd Party Mac Developer
Application: My ID' ${a}; done & find
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name *.so |
while read b ; do codesign —verbose —sign '3rd Party Mac Developer
Application: My ID' ${b}; done | codesign —verbose —sign '3rd Party Mac
Developer Application: My ID'
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer
- Terminal Input Command(Codesign for
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner) :
codesign -f -v -s '3rd Party Mac Developer Application: My ID' —entitlements
"MyApp.entitlements"
"MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner"
- Terminal Input Command(Codesign for
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper) :
codesign -f -v -s '3rd Party Mac Developer Application: My ID' —entitlements
"MyApp.entitlements"
"MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper"
- Terminal Input Command(Codesign for MyApp, MyFramework.framework,
GStreamer.framework) :
codesign —all-architectures -f —deep -s '3rd Party Mac Developer
Application: My ID' —entitlements "MyApp.entitlements" "MyApp.app"
3) Try AppLoader Upload
- Make PKG File and Upload :
-> Result : Succes
But, My app could not be executed.
Test3.
I succeed uploading but the app was not able to use. Therefore I tested
again to find a reason.
1) I changed osx-framework to GStreamer in
GStreamer.framework/Resources/Info.plist Modify
-> Bundle name, Bundle identifier
2) Codesign
- Terminal Input Command(Codesign for GStreamer.framework/Versions/1.0/lib
Directory) :
find MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name
*.dylib | while read a ; do codesign —verbose —sign '3rd Party Mac Developer
Application: My ID' ${a}; done & find
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/ -name *.so |
while read b ; do codesign —verbose —sign '3rd Party Mac Developer
Application: My ID' ${b}; done | codesign —verbose —sign '3rd Party Mac
Developer Application: My ID'
MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer
- Terminal Input Command(Codesign for
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner) :
codesign -f -v -s '3rd Party Mac Developer Application: My ID'
"MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-plugin-scanner"
- Terminal Input Command(Codesign for
GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper) :
codesign -f -v -s '3rd Party Mac Developer Application: My ID'
"MyApp.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/gst-ptp-helper"
- Terminal Input Command(Codesign for MyApp, MyFramework.framework,
GStreamer.framework) :
codesign —all-architectures -f —deep -s '3rd Party Mac Developer
Application: My ID' —entitlements "MyApp.entitlements" "MyApp.app"
3) Try AppLoader Upload
- Make PKG File and Upload :
-> Result : Fail
-> Error Message : ERROR ITMS-90260: "Bad Bundle Executable. You must
include a valid CFBundleExecutable key in the nested bundle osx-framework
[com.myplayer.osx.pkg/Payload/MyApp.app/Contents/Frameworks/GStreamer.framework]
property list file."
But, My app can be executed.
it worked well with applying codesign on gat-plugin-scanner and
gst-ptp-helper but when codesign and sandbox are applied, it was failed.
How can I sort out this issue?
Please let me know, if you have any question.
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Apple-Sandbox-and-Appstore-Upload-issue-tp4679808.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list