2010-06-09 5 views
9

Estoy escribiendo una extensión de Safari simple, y estoy tratando de averiguar cómo hacer funcionar el mecanismo de actualización. documentación de Apple aquí es deliciosamente vago:¿Está actualizando una extensión de Safari?

https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/UpdatingExtensions/UpdatingExtensions.html

Y aquí está mi manifiesto, sobre la base de que la documentación:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Extension Updates</key> 
    <array> 
     <dict> 
      <key>CFBundleIdentifier</key> 
      <string>net.rickyromero.safari.shutup</string> 
      <key>Team Identifier</key> 
      <string>TMM5P68287</string> 
      <key>CFBundleVersion</key> 
      <string>1</string> 
      <key>CFBundleShortVersionString</key> 
      <string>1.0</string> 
      <key>URL</key> 
      <string>http://rickyromero.net/misc/SafariExtensions/ShutUp.safariextz</string> 
     </dict> 
    </array> 
</dict> 
</plist> 

no sé dónde conseguir "YourCertifcateID", por ejemplo. Y cuando incremente los valores para CFBundleVersion y CFBundleShortVersionString, no desencadenará una actualización. Sé que Safari está llegando a mi manifiesto, porque estoy viendo el tráfico HTTP.

Totalmente perplejo. Alguna idea, chicos?

Respuesta

6

Team Identifier debería ser Developer Identifier

El Identificador desarrollador se toma de la cadena en la parte superior de la ventana de Extensión Builder, Safari Developer: (DEVELOPER_IDENTIFIER) EMAIL

+0

Acabo de intentar cambiar eso, pero desafortunadamente no lo hizo ... Todavía no solicita actualizar cuando incremente el número de versión. –

+0

Aquí está mi manifiesto, que parece funcionar http://matsadler.github.com/deanimator/updates.plist El Identificador desarrollador se toma de la cadena en la parte superior de la ventana de Extensión Builder, 'Safari Desarrollador: (DEVELOPER_IDENTIFIER) EMAIL' La otra cosa que probé estaba abriendo el archivo con la lista de la propiedad para comprobar Editor.app es un .plist válido, aunque eso no parece ser un problema para ti. – matsadler

+0

Muy bien, gracias por su ayuda. Lo examiné un poco más de cerca y mis identificadores no coincidían ... Debería funcionar bien ahora. :-) –

1

problema similar. Safari ve la actualización (he configurado las actualizaciones en manual), pero al hacer clic en el botón Instalar cuando se detecta una actualización no se logra nada. Si luego verifico "Instalar Actualizaciones Automáticamente", el proceso de actualización comienza y finaliza, pero la nueva versión no está instalada. Puedo ver el tráfico al servidor web, así que sé que se ha realizado una solicitud.

EDITAR: ¡Reparado! Los permisos eran incorrectos en el directorio web donde se almacenó la extensión, se corrigió e instaló de forma manual y automática. Cada vez que reconstruyo la extensión y la guardo en la carpeta de mi servidor web, debo establecer los permisos.

segunda edición: Si desea buscar en una extensión existente, descargarlo o conseguirlo de sus extensiones de Safari carpeta y cambiar el .safariextz a .xar luego abrir/extraer con Pacifista para ver el código y si quieres agréguelo a la aplicación Extension Builder.

1

he tenido el mismo problema, el archivo PLIST era como la de arriba, y aquí es cómo resolver mi problema:

  • Tenía un identificador desarrollador incorrecta (tenía un 5 en lugar de un Z). Duh!
  • permisos, que son descansar cada vez que actualice el archivo:

    chmod 0444 EXTENSIONNAME.safariextz

0

Sólo tenía el mismo problema, y ​​los permisos fueron el problema para mí, también. El archivo .safariextz se descargó bien a través de un enlace directo en mi página de inicio, pero tuve que establecer sus permisos a + x en el servidor antes de que Safari lo descargara como una actualización automática.

Cuestiones relacionadas